1
1. Evaluators - producing vertices for primitives described by NURBS
3
2. Transform - transform all vertices according to the ModelView
4
matrices and the color and texture coordinate associated with them are
5
computed (vertex shaders are used). The data associated with each vertex
7
a) Coordinates: x,y,z,w
10
d) Color (given or computed according to light model)
13
a) In the per-vertex operations stage of processing, each vertex's spatial
14
coordinates are transformed by the modelview matrix, while the normal
15
vector is transformed by that matrix's inverse and renormalized if
17
b) New texture coordinates are generated from the transformed vertex
19
c) The texture coordinates are then transformed by the current texture
21
d) Using the transformed vertex and normal vector coordinates, and a light
22
model, the vertex color is computed
24
3. Primitive assemby - vertix filtering (geometry shaders may be used here)
25
a) If clipping planes are given, the vertices are filtered trough them.
26
b) While line or polygon is cliped the additional vertices may be added
27
depending on how the line or polygon is clipped
28
c) Projection matrix is used to convert coordinates of all vertices
29
d) The resuls are clipped against viewing planes
31
4. Rasterization - the fragments (images) are constructed from primitives,
32
the pixel shaders are used here.
33
a) Rasterization involves determining which squares of an integer grid in
34
window coordinates are occupied by the primitive. Color and depth values
35
are assigned to each such square.
36
b) Textures are applied to fragments
37
c) Fog calculations are performed
39
5. Tests - checking if vertex could be filtered out
40
a) Scissor test (see above)
41
b) Alpha test (it is possible to ignore pixels with alpha <>= refval)
42
c) Stencil test (see above)
43
d) Depth test (skipping objects below the scene, z-buffer is filled
44
automatically if Depth test is enable and Depth mask is set to true)
46
6. Blending - combining with pixel currently in buffer at that position
47
replace, blending effect, dithering effect