phd-thesis-en/figures/openGLPipeline.tikz

31 lines
1.2 KiB
Plaintext

\documentclass[crop,tikz]{standalone}
\input{common-headers}
\begin{document}
\begin{tikzpicture}[%
shader/.style={draw,fill=white,nearly opaque, minimum size=1.5cm,%
align=center, node distance=5mm},
prgrbl/.style={shader,opaque,thick,font=\bfseries},
prgrbo/.style={prgrbl,dashed},
f/.tip={Fast Triangle[cap angle=120]},
>/.tip={Triangle Cap[cap angle=120] . f f}, % Normal tips
>-</.tip={>[reversed]} % Reversed tips
]
\node[shader] (S1) at (0,0) {Vertex\\ Specification};
\node[prgrbl,right=of S1] (S2) {Vertex\\ Shader};
\node[prgrbo,right=of S2] (S3) {Tessellation};
\node[prgrbo,right=of S3] (S4) {Geometry\\ Shader};
\node[shader,right=of S4] (S5) {Vertex\\ Post-Processing};
\node[shader,below=of S5] (S6) {Primitive\\ Assembly};
\node[shader,left =of S6] (S7) {Rasterization};
\node[prgrbo,left =of S7] (S8) {Fragment\\ Shader};
\node[shader,left =of S8] (S9) {Per-Sample\\ Operations};
\begin{scope}[on background layer]
\draw[line width=1cm, >->,black!40,rounded corners]
($(S1.center) + (-3cm,0)$) to (S5.center)%
to (S6.center) to ($(S9.center) + (-3cm,0)$);
\end{scope}
\end{tikzpicture}
\end{document}