summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Paul <brianp@vmware.com>2010-09-17 18:41:05 -0600
committerBrian Paul <brianp@vmware.com>2010-09-17 18:41:05 -0600
commit49cb978aa46af0d86ab609013d7883c8105a6d1d (patch)
treea00061941dc783f2874dfcb9a1ae9db0722afde9
parentfd266ec62ca772a8551d2d7922d718d9d84bdf07 (diff)
gallium: better docs for pipe_rasterizer_state::sprite_coord_enable
-rw-r--r--src/gallium/docs/source/cso/rasterizer.rst18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/gallium/docs/source/cso/rasterizer.rst b/src/gallium/docs/source/cso/rasterizer.rst
index ee3419ccfc..d547055096 100644
--- a/src/gallium/docs/source/cso/rasterizer.rst
+++ b/src/gallium/docs/source/cso/rasterizer.rst
@@ -124,17 +124,24 @@ Points
sprite_coord_enable
^^^^^^^^^^^^^^^^^^^
-Specifies if a texture unit has its texture coordinates replaced or not. This
-is a packed bitfield containing the enable for all texcoords -- if all bits
-are zero, point sprites are effectively disabled.
+Controls automatic texture coordinate generation for rendering sprite points.
+
+When bit k in the sprite_coord_enable bitfield is set, then generic
+input k to the fragment shader will get an automatically computed
+texture coordinate.
+
+The texture coordinate will be of the form (s, t, 0, 1) where s varies
+from 0 to 1 from left to right while t varies from 0 to 1 according to
+the state of 'sprite_coord_mode' (see below).
If any bit is set, then point_smooth MUST be disabled (there are no
round sprites) and point_quad_rasterization MUST be true (sprites are
always rasterized as quads). Any mismatch between these states should
be considered a bug in the state-tracker.
-If enabled, the four vertices of the resulting quad will be assigned
-texture coordinates, according to sprite_coord_mode.
+This feature is implemented in the :ref:`Draw` module but may also be
+implemented natively by GPUs or implemented with a geometry shader.
+
sprite_coord_mode
^^^^^^^^^^^^^^^^^
@@ -145,6 +152,7 @@ have coordinates (0,0,0,1). For PIPE_SPRITE_COORD_UPPER_LEFT, the upper-left
vertex will have coordinates (0,0,0,1).
This state is used by :ref:`Draw` to generate texcoords.
+
point_quad_rasterization
^^^^^^^^^^^^^^^^^^^^^^^^