Line 3,943:
Line 3,943:
== Rasterizer registers ==
== Rasterizer registers ==
+
+
=== GPUREG_SH_OUTMAP_Oi ===
+
+
These registers map components of the corresponding vertex shader output register to specific fixed-function semantics.
+
+
{| class="wikitable" border="1"
+
! Bits
+
! Description
+
|-
+
| 0-7
+
| Semantic for the x component of the register.
+
|-
+
| 8-15
+
| Semantic for the y component of the register.
+
|-
+
| 16-23
+
| Semantic for the z component of the register.
+
|-
+
| 24-31
+
| Semantic for the w component of the register.
+
|}
+
+
The semantic ids are:
+
+
{| class="wikitable" border="1"
+
! Value
+
! Semantic
+
! Description
+
|-
+
| 0x00
+
| position.x
+
| rowspan="4" | Vertex Position
+
|-
+
| 0x01
+
| position.y
+
|-
+
| 0x02
+
| position.z
+
|-
+
| 0x03
+
| position.w
+
|-
+
| 0x04
+
| normquat.x
+
| rowspan="4" | Quaternion specifying the normal/tangent frame (for fragment lighting)
+
|-
+
| 0x05
+
| normquat.y
+
|-
+
| 0x06
+
| normquat.z
+
|-
+
| 0x07
+
| normquat.w
+
|-
+
| 0x08
+
| color.r
+
| rowspan="4" | Vertex color
+
|-
+
| 0x09
+
| color.g
+
|-
+
| 0x0A
+
| color.b
+
|-
+
| 0x0B
+
| color.a
+
|-
+
| 0x0C
+
| texcoord0.u
+
| rowspan="2" | Texture coordinates for texture 0
+
|-
+
| 0x0D
+
| texcoord0.v
+
|-
+
| 0x0E
+
| texcoord1.u
+
| rowspan="2" | Texture coordinates for texture 1
+
|-
+
| 0x0F
+
| texcoord1.v
+
|-
+
| 0x10
+
| texcoord0.w
+
|
+
+
|-
+
| 0x12
+
| view.x
+
| rowspan="3" | View vector (for fragment lighting)
+
|-
+
| 0x13
+
| view.y
+
|-
+
| 0x14
+
| view.z
+
+
|-
+
| 0x16
+
| texcoord2.u
+
| rowspan="2" | Texture coordinates for texture 2
+
|-
+
| 0x17
+
| texcoord2.v
+
+
|-
+
| 0x1F
+
| Unused component
+
| Should be set for unused components of the output register
+
|}
== Texturing registers ==
== Texturing registers ==