diff options
Diffstat (limited to 'doc/triangle-pipeline.txt')
| -rw-r--r-- | doc/triangle-pipeline.txt | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/doc/triangle-pipeline.txt b/doc/triangle-pipeline.txt new file mode 100644 index 0000000..064cf5d --- /dev/null +++ b/doc/triangle-pipeline.txt | |||
| @@ -0,0 +1,27 @@ | |||
| 1 | @startuml | ||
| 2 | :Triangles; | ||
| 3 | :Vertices; | ||
| 4 | if (Vertex cache?) then (hit) | ||
| 5 | :Load vertex; | ||
| 6 | else (miss) | ||
| 7 | :Transform & Store vertex; | ||
| 8 | endif | ||
| 9 | :Transformed triangle (clip space); | ||
| 10 | :Clip; | ||
| 11 | :2D triangles; | ||
| 12 | :Backface cull; | ||
| 13 | :Rasterize; | ||
| 14 | :Pixels; | ||
| 15 | if (Depth test?) then (pass) | ||
| 16 | if (Alpha mask?) then (opaque) | ||
| 17 | :Write pixel; | ||
| 18 | else (transparent) | ||
| 19 | :Discard; | ||
| 20 | stop | ||
| 21 | endif | ||
| 22 | else (fail) | ||
| 23 | :Discard; | ||
| 24 | stop | ||
| 25 | endif | ||
| 26 | stop | ||
| 27 | @enduml | ||
