mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
128 lines
3.7 KiB
128 lines
3.7 KiB
XXX this could be converted/formatted for Sphinx someday. |
|
XXX do not use tabs in this file. |
|
|
|
|
|
|
|
position ] |
|
primary/secondary colors ] |
|
generics (normals, ] |
|
texcoords, fog) ] User vertices / arrays |
|
point size ] |
|
edge flag ] |
|
primitive ID } System-generated values |
|
vertex ID } |
|
| | | |
|
V V V |
|
+-------------------+ |
|
| Vertex shader | |
|
+-------------------+ |
|
| | | |
|
V V V |
|
position |
|
clip distance |
|
generics |
|
front/back & primary/secondary colors |
|
point size |
|
edge flag |
|
primitive ID |
|
| | | |
|
V V V |
|
+------------------------+ |
|
| Geometry shader | |
|
| (consume vertex ID) | |
|
| (may change prim type) | |
|
+------------------------+ |
|
| | | |
|
V V V |
|
[...] |
|
fb layer |
|
| | | |
|
V V V |
|
+--------------------------+ |
|
| Clipper | |
|
| (consume clip distances) | |
|
+--------------------------+ |
|
| | | |
|
V V V |
|
+-------------------+ |
|
| Polygon Culling | |
|
+-------------------+ |
|
| | | |
|
V V V |
|
+-----------------------+ |
|
| Choose front or | |
|
| back face color | |
|
| (consume other color) | |
|
+-----------------------+ |
|
| | | |
|
V V V |
|
[...] |
|
primary/secondary colors only |
|
| | | |
|
V V V |
|
+-------------------+ |
|
| Polygon Offset | |
|
+-------------------+ |
|
| | | |
|
V V V |
|
+----------------------+ |
|
| Unfilled polygons | |
|
| (consume edge flags) | |
|
| (change prim type) | |
|
+----------------------+ |
|
| | | |
|
V V V |
|
position |
|
generics |
|
primary/secondary colors |
|
point size |
|
primitive ID |
|
fb layer |
|
| | | |
|
V V V |
|
+---------------------------------+ |
|
| Optional Draw module helpers | |
|
| * Polygon Stipple | |
|
| * Line Stipple | |
|
| * Line AA/smooth (as tris) | |
|
| * Wide lines (as tris) | |
|
| * Wide points/sprites (as tris) | |
|
| * Point AA/smooth (as tris) | |
|
| (NOTE: these stages may emit | |
|
| new/extra generic attributes | |
|
| such as texcoords) | |
|
+---------------------------------+ |
|
| | | |
|
V V V |
|
position ] |
|
generics (+ new/extra ones) ] |
|
primary/secondary colors ] Software rast vertices |
|
point size ] |
|
primitive ID ] |
|
fb layer ] |
|
| | | |
|
V V V |
|
+---------------------+ |
|
| Triangle/Line/Point | |
|
| Rasterization | |
|
+---------------------+ |
|
| | | |
|
V V V |
|
generic attribs |
|
primary/secondary colors |
|
primitive ID |
|
fragment win coord pos } System-generated values |
|
front/back face flag } |
|
| | | |
|
V V V |
|
+-------------------+ |
|
| Fragment shader | |
|
+-------------------+ |
|
| | | |
|
V V V |
|
zero or more colors |
|
zero or one Z value |
|
|
|
|
|
NOTE: The instance ID is not shown. It can be imagined to be a global variable |
|
accessible to all shader stages.
|
|
|