Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
5564 serge 1
XXX this could be converted/formatted for Sphinx someday.
2
XXX do not use tabs in this file.
3
 
4
 
5
 
6
            position                     ]
7
            primary/secondary colors     ]
8
            generics (normals,           ]
9
               texcoords, fog)           ] User vertices / arrays
10
            point size                   ]
11
            edge flag                    ]
12
            primitive ID                 } System-generated values
13
            vertex ID                    }
14
              | | |
15
              V V V
16
      +-------------------+
17
      |  Vertex shader    |
18
      +-------------------+
19
              | | |
20
              V V V
21
            position
22
            clip distance
23
            generics
24
            front/back & primary/secondary colors
25
            point size
26
            edge flag
27
            primitive ID
28
              | | |
29
              V V V
30
      +------------------------+
31
      |     Geometry shader    |
32
      | (consume vertex ID)    |
33
      | (may change prim type) |
34
      +------------------------+
35
              | | |
36
              V V V
37
            [...]
38
            fb layer
39
              | | |
40
              V V V
41
      +--------------------------+
42
      |         Clipper          |
43
      | (consume clip distances) |
44
      +--------------------------+
45
              | | |
46
              V V V
47
      +-------------------+
48
      |  Polygon Culling  |
49
      +-------------------+
50
              | | |
51
              V V V
52
      +-----------------------+
53
      |    Choose front or    |
54
      |    back face color    |
55
      | (consume other color) |
56
      +-----------------------+
57
              | | |
58
              V V V
59
            [...]
60
            primary/secondary colors only
61
              | | |
62
              V V V
63
      +-------------------+
64
      |   Polygon Offset  |
65
      +-------------------+
66
              | | |
67
              V V V
68
      +----------------------+
69
      | Unfilled polygons    |
70
      | (consume edge flags) |
71
      | (change prim type)   |
72
      +----------------------+
73
              | | |
74
              V V V
75
            position
76
            generics
77
            primary/secondary colors
78
            point size
79
            primitive ID
80
            fb layer
81
              | | |
82
              V V V
83
  +---------------------------------+
84
  | Optional Draw module helpers    |
85
  | * Polygon Stipple               |
86
  | * Line Stipple                  |
87
  | * Line AA/smooth (as tris)      |
88
  | * Wide lines (as tris)          |
89
  | * Wide points/sprites (as tris) |
90
  | * Point AA/smooth (as tris)     |
91
  | (NOTE: these stages may emit    |
92
  |  new/extra generic attributes   |
93
  |  such as texcoords)             |
94
  +---------------------------------+
95
              | | |
96
              V V V
97
            position                     ]
98
            generics (+ new/extra ones)  ]
99
            primary/secondary colors     ] Software rast vertices
100
            point size                   ]
101
            primitive ID                 ]
102
            fb layer                     ]
103
              | | |
104
              V V V
105
      +---------------------+
106
      | Triangle/Line/Point |
107
      |    Rasterization    |
108
      +---------------------+
109
              | | |
110
              V V V
111
            generic attribs
112
            primary/secondary colors
113
            primitive ID
114
            fragment win coord pos   } System-generated values
115
            front/back face flag     }
116
              | | |
117
              V V V
118
      +-------------------+
119
      |  Fragment shader  |
120
      +-------------------+
121
              | | |
122
              V V V
123
            zero or more colors
124
            zero or one Z value
125
 
126
 
127
NOTE: The instance ID is not shown.  It can be imagined to be a global variable
128
accessible to all shader stages.