/docs/MyDocs

To get this branch, use:
bzr branch http://darksoft.org/webbzr/docs/MyDocs

« back to all changes in this revision

Viewing changes to Development/libraries/opengl/flow.txt

  • Committer: Suren A. Chilingaryan
  • Date: 2009-04-09 03:21:08 UTC
  • Revision ID: csa@dside.dyndns.org-20090409032108-w4edamdh4adrgdu3
import

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 1. Evaluators - producing vertices for primitives described by NURBS
 
2
 
 
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 
 
6
 include:
 
7
    a) Coordinates: x,y,z,w
 
8
    b) Normal vector
 
9
    c) Texture coordinates
 
10
    d) Color (given or computed according to light model)
 
11
    e) Edge-flag data (?)
 
12
  Operations Sequence:
 
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 
 
16
    specified. 
 
17
    b) New texture coordinates are generated from the transformed vertex 
 
18
    coordinates.
 
19
    c) The texture coordinates are then transformed by the current texture 
 
20
    matrix
 
21
    d) Using the transformed vertex and normal vector coordinates, and a light
 
22
    model, the vertex color is computed
 
23
 
 
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
 
30
 
 
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
 
38
 
 
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)
 
45
 
 
46
 6. Blending  - combining with pixel currently in buffer at that position
 
47
        replace, blending effect, dithering effect