31 lines
1.2 KiB
Text
31 lines
1.2 KiB
Text
|
\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}
|