Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

  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.
  129.