Changes

4,045 bytes added ,  16:47, 13 September 2015
Fragment lighting, part 2
Line 1,664: Line 1,664:  
|-
 
|-
 
| 0140
 
| 0140
| [[#GPUREG_LIGHTx_SPECULARy|GPUREG_LIGHT0_SPECULAR0]]
+
| [[#GPUREG_LIGHTx_SPECULAR0|GPUREG_LIGHT0_SPECULAR0]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT0_SPECULAR0 / PICA_REG_FRAG_LIGHT_START
 
|PICA_REG_FRAG_LIGHT0_SPECULAR0 / PICA_REG_FRAG_LIGHT_START
 
|-
 
|-
 
| 0141
 
| 0141
| [[#GPUREG_LIGHTx_SPECULARy|GPUREG_LIGHT0_SPECULAR1]]
+
| [[#GPUREG_LIGHTx_SPECULAR1|GPUREG_LIGHT0_SPECULAR1]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT0_SPECULAR1
 
|PICA_REG_FRAG_LIGHT0_SPECULAR1
Line 1,744: Line 1,744:  
|-
 
|-
 
| 0150
 
| 0150
| [[#GPUREG_0150|GPUREG_LIGHT1_SPECULAR0]]
+
| [[#GPUREG_LIGHTx_SPECULAR0|GPUREG_LIGHT1_SPECULAR0]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT1_SPECULAR0
 
|PICA_REG_FRAG_LIGHT1_SPECULAR0
 
|-
 
|-
 
| 0151
 
| 0151
| [[#GPUREG_0151|GPUREG_LIGHT1_SPECULAR1]]
+
| [[#GPUREG_LIGHTx_SPECULAR1|GPUREG_LIGHT1_SPECULAR1]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT1_SPECULAR1
 
|PICA_REG_FRAG_LIGHT1_SPECULAR1
 
|-
 
|-
 
| 0152
 
| 0152
| [[#GPUREG_0152|GPUREG_LIGHT1_DIFFUSE]]
+
| [[#GPUREG_LIGHTx_DIFFUSE|GPUREG_LIGHT1_DIFFUSE]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT1_DIFFUSE
 
|PICA_REG_FRAG_LIGHT1_DIFFUSE
 
|-
 
|-
 
| 0153
 
| 0153
| [[#GPUREG_0153|GPUREG_LIGHT1_AMBIENT]]
+
| [[#GPUREG_LIGHTx_AMBIENT|GPUREG_LIGHT1_AMBIENT]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT1_AMBIENT
 
|PICA_REG_FRAG_LIGHT1_AMBIENT
 
|-
 
|-
 
| 0154
 
| 0154
| [[#GPUREG_0154|GPUREG_LIGHT1_XY]]
+
| [[#GPUREG_LIGHTx_XY|GPUREG_LIGHT1_XY]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT1_POSITION_XY
 
|PICA_REG_FRAG_LIGHT1_POSITION_XY
 
|-
 
|-
 
| 0155
 
| 0155
| [[#GPUREG_0155|GPUREG_LIGHT1_Z]]
+
| [[#GPUREG_LIGHTx_Z|GPUREG_LIGHT1_Z]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT1_POSITION_Z
 
|PICA_REG_FRAG_LIGHT1_POSITION_Z
 
|-
 
|-
 
| 0156
 
| 0156
| [[#GPUREG_0156|GPUREG_LIGHT1_SPOTDIR_XY]]
+
| [[#GPUREG_LIGHTx_SPOTDIR_XY|GPUREG_LIGHT1_SPOTDIR_XY]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT1_SPOT_XY
 
|PICA_REG_FRAG_LIGHT1_SPOT_XY
 
|-
 
|-
 
| 0157
 
| 0157
| [[#GPUREG_0157|GPUREG_LIGHT1_SPOTDIR_Z]]
+
| [[#GPUREG_LIGHTx_SPOTDIR_Z|GPUREG_LIGHT1_SPOTDIR_Z]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT1_SPOT_Z
 
|PICA_REG_FRAG_LIGHT1_SPOT_Z
Line 1,789: Line 1,789:  
|-
 
|-
 
| 0159
 
| 0159
| [[#GPUREG_0159|GPUREG_LIGHT1_CONFIG]]
+
| [[#GPUREG_LIGHTx_CONFIG|GPUREG_LIGHT1_CONFIG]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT1_TYPE
 
|PICA_REG_FRAG_LIGHT1_TYPE
 
|-
 
|-
 
| 015A
 
| 015A
| [[#GPUREG_015A|GPUREG_LIGHT1_ATTENUATION_BIAS]]
+
| [[#GPUREG_LIGHTx_ATTENUATION_BIAS|GPUREG_LIGHT1_ATTENUATION_BIAS]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT1_DIST_ATTN_BIAS
 
|PICA_REG_FRAG_LIGHT1_DIST_ATTN_BIAS
 
|-
 
|-
 
| 015B
 
| 015B
| [[#GPUREG_015B|GPUREG_LIGHT1_ATTENUATION_SCALE]]
+
| [[#GPUREG_LIGHTx_ATTENUATION_SCALE|GPUREG_LIGHT1_ATTENUATION_SCALE]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT1_DIST_ATTN_SCALE
 
|PICA_REG_FRAG_LIGHT1_DIST_ATTN_SCALE
Line 1,824: Line 1,824:  
|-
 
|-
 
| 0160
 
| 0160
| [[#GPUREG_0160|GPUREG_LIGHT2_SPECULAR0]]
+
| [[#GPUREG_LIGHTx_SPECULAR0|GPUREG_LIGHT2_SPECULAR0]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT2_SPECULAR0
 
|PICA_REG_FRAG_LIGHT2_SPECULAR0
 
|-
 
|-
 
| 0161
 
| 0161
| [[#GPUREG_0161|GPUREG_LIGHT2_SPECULAR1]]
+
| [[#GPUREG_LIGHTx_SPECULAR1|GPUREG_LIGHT2_SPECULAR1]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT2_SPECULAR1
 
|PICA_REG_FRAG_LIGHT2_SPECULAR1
 
|-
 
|-
 
| 0162
 
| 0162
| [[#GPUREG_0162|GPUREG_LIGHT2_DIFFUSE]]
+
| [[#GPUREG_LIGHTx_DIFFUSE|GPUREG_LIGHT2_DIFFUSE]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT2_DIFFUSE
 
|PICA_REG_FRAG_LIGHT2_DIFFUSE
 
|-
 
|-
 
| 0163
 
| 0163
| [[#GPUREG_0163|GPUREG_LIGHT2_AMBIENT]]
+
| [[#GPUREG_LIGHTx_AMBIENT|GPUREG_LIGHT2_AMBIENT]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT2_AMBIENT
 
|PICA_REG_FRAG_LIGHT2_AMBIENT
 
|-
 
|-
 
| 0164
 
| 0164
| [[#GPUREG_0164|GPUREG_LIGHT2_XY]]
+
| [[#GPUREG_LIGHTx_XY|GPUREG_LIGHT2_XY]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT2_POSITION_XY
 
|PICA_REG_FRAG_LIGHT2_POSITION_XY
 
|-
 
|-
 
| 0165
 
| 0165
| [[#GPUREG_0165|GPUREG_LIGHT2_Z]]
+
| [[#GPUREG_LIGHTx_Z|GPUREG_LIGHT2_Z]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT2_POSITION_Z
 
|PICA_REG_FRAG_LIGHT2_POSITION_Z
 
|-
 
|-
 
| 0166
 
| 0166
| [[#GPUREG_0166|GPUREG_LIGHT2_SPOTDIR_XY]]
+
| [[#GPUREG_LIGHTx_SPOTDIR_XY|GPUREG_LIGHT2_SPOTDIR_XY]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT2_SPOT_XY
 
|PICA_REG_FRAG_LIGHT2_SPOT_XY
 
|-
 
|-
 
| 0167
 
| 0167
| [[#GPUREG_0167|GPUREG_LIGHT2_SPOTDIR_Z]]
+
| [[#GPUREG_LIGHTx_SPOTDIR_Z|GPUREG_LIGHT2_SPOTDIR_Z]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT2_SPOT_Z
 
|PICA_REG_FRAG_LIGHT2_SPOT_Z
Line 1,869: Line 1,869:  
|-
 
|-
 
| 0169
 
| 0169
| [[#GPUREG_0169|GPUREG_LIGHT2_CONFIG]]
+
| [[#GPUREG_LIGHTx_CONFIG|GPUREG_LIGHT2_CONFIG]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT2_TYPE
 
|PICA_REG_FRAG_LIGHT2_TYPE
 
|-
 
|-
 
| 016A
 
| 016A
| [[#GPUREG_016A|GPUREG_LIGHT2_ATTENUATION_BIAS]]
+
| [[#GPUREG_LIGHTx_ATTENUATION_BIAS|GPUREG_LIGHT2_ATTENUATION_BIAS]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT2_DIST_ATTN_BIAS
 
|PICA_REG_FRAG_LIGHT2_DIST_ATTN_BIAS
 
|-
 
|-
 
| 016B
 
| 016B
| [[#GPUREG_016B|GPUREG_LIGHT2_ATTENUATION_SCALE]]
+
| [[#GPUREG_LIGHTx_ATTENUATION_SCALE|GPUREG_LIGHT2_ATTENUATION_SCALE]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT2_DIST_ATTN_SCALE
 
|PICA_REG_FRAG_LIGHT2_DIST_ATTN_SCALE
Line 1,904: Line 1,904:  
|-
 
|-
 
| 0170
 
| 0170
| [[#GPUREG_0170|GPUREG_LIGHT3_SPECULAR0]]
+
| [[#GPUREG_LIGHTx_SPECULAR0|GPUREG_LIGHT3_SPECULAR0]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT3_SPECULAR0
 
|PICA_REG_FRAG_LIGHT3_SPECULAR0
 
|-
 
|-
 
| 0171
 
| 0171
| [[#GPUREG_0171|GPUREG_LIGHT3_SPECULAR1]]
+
| [[#GPUREG_LIGHTx_SPECULAR1|GPUREG_LIGHT3_SPECULAR1]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT3_SPECULAR1
 
|PICA_REG_FRAG_LIGHT3_SPECULAR1
 
|-
 
|-
 
| 0172
 
| 0172
| [[#GPUREG_0172|GPUREG_LIGHT3_DIFFUSE]]
+
| [[#GPUREG_LIGHTx_DIFFUSE|GPUREG_LIGHT3_DIFFUSE]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT3_DIFFUSE
 
|PICA_REG_FRAG_LIGHT3_DIFFUSE
 
|-
 
|-
 
| 0173
 
| 0173
| [[#GPUREG_0173|GPUREG_LIGHT3_AMBIENT]]
+
| [[#GPUREG_LIGHTx_AMBIENT|GPUREG_LIGHT3_AMBIENT]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT3_AMBIENT
 
|PICA_REG_FRAG_LIGHT3_AMBIENT
 
|-
 
|-
 
| 0174
 
| 0174
| [[#GPUREG_0174|GPUREG_LIGHT3_XY]]
+
| [[#GPUREG_LIGHTx_XY|GPUREG_LIGHT3_XY]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT3_POSITION_XY
 
|PICA_REG_FRAG_LIGHT3_POSITION_XY
 
|-
 
|-
 
| 0175
 
| 0175
| [[#GPUREG_0175|GPUREG_LIGHT3_Z]]
+
| [[#GPUREG_LIGHTx_Z|GPUREG_LIGHT3_Z]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT3_POSITION_Z
 
|PICA_REG_FRAG_LIGHT3_POSITION_Z
 
|-
 
|-
 
| 0176
 
| 0176
| [[#GPUREG_0176|GPUREG_LIGHT3_SPOTDIR_XY]]
+
| [[#GPUREG_LIGHTx_SPOTDIR_XY|GPUREG_LIGHT3_SPOTDIR_XY]]
 
|?  
 
|?  
 
|PICA_REG_FRAG_LIGHT3_SPOT_XY
 
|PICA_REG_FRAG_LIGHT3_SPOT_XY
 
|-
 
|-
 
| 0177
 
| 0177
| [[#GPUREG_0177|GPUREG_LIGHT3_SPOTDIR_Z]]
+
| [[#GPUREG_LIGHTx_SPOTDIR_Z|GPUREG_LIGHT3_SPOTDIR_Z]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT3_SPOT_Z
 
|PICA_REG_FRAG_LIGHT3_SPOT_Z
Line 1,949: Line 1,949:  
|-
 
|-
 
| 0179
 
| 0179
| [[#GPUREG_0179|GPUREG_LIGHT3_CONFIG]]
+
| [[#GPUREG_LIGHTx_CONFIG|GPUREG_LIGHT3_CONFIG]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT3_TYPE
 
|PICA_REG_FRAG_LIGHT3_TYPE
 
|-
 
|-
 
| 017A
 
| 017A
| [[#GPUREG_017A|GPUREG_LIGHT3_ATTENUATION_BIAS]]
+
| [[#GPUREG_LIGHTx_ATTENUATION_BIAS|GPUREG_LIGHT3_ATTENUATION_BIAS]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT3_DIST_ATTN_BIAS
 
|PICA_REG_FRAG_LIGHT3_DIST_ATTN_BIAS
 
|-
 
|-
 
| 017B
 
| 017B
| [[#GPUREG_017B|GPUREG_LIGHT3_ATTENUATION_SCALE]]
+
| [[#GPUREG_LIGHTx_ATTENUATION_SCALE|GPUREG_LIGHT3_ATTENUATION_SCALE]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT3_DIST_ATTN_SCALE
 
|PICA_REG_FRAG_LIGHT3_DIST_ATTN_SCALE
Line 1,984: Line 1,984:  
|-
 
|-
 
| 0180
 
| 0180
| [[#GPUREG_0180|GPUREG_LIGHT4_SPECULAR0]]
+
| [[#GPUREG_LIGHTx_SPECULAR0|GPUREG_LIGHT4_SPECULAR0]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT4_SPECULAR0
 
|PICA_REG_FRAG_LIGHT4_SPECULAR0
 
|-
 
|-
 
| 0181
 
| 0181
| [[#GPUREG_0181|GPUREG_LIGHT4_SPECULAR1]]
+
| [[#GPUREG_LIGHTx_SPECULAR1|GPUREG_LIGHT4_SPECULAR1]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT4_SPECULAR1
 
|PICA_REG_FRAG_LIGHT4_SPECULAR1
 
|-
 
|-
 
| 0182
 
| 0182
| [[#GPUREG_0182|GPUREG_LIGHT4_DIFFUSE]]
+
| [[#GPUREG_LIGHTx_DIFFUSE|GPUREG_LIGHT4_DIFFUSE]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT4_DIFFUSE
 
|PICA_REG_FRAG_LIGHT4_DIFFUSE
 
|-
 
|-
 
| 0183
 
| 0183
| [[#GPUREG_0183|GPUREG_LIGHT4_AMBIENT]]
+
| [[#GPUREG_LIGHTx_AMBIENT|GPUREG_LIGHT4_AMBIENT]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT4_AMBIENT
 
|PICA_REG_FRAG_LIGHT4_AMBIENT
 
|-
 
|-
 
| 0184
 
| 0184
| [[#GPUREG_0184|GPUREG_LIGHT4_XY]]
+
| [[#GPUREG_LIGHTx_XY|GPUREG_LIGHT4_XY]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT4_POSITION_XY
 
|PICA_REG_FRAG_LIGHT4_POSITION_XY
 
|-
 
|-
 
| 0185
 
| 0185
| [[#GPUREG_0185|GPUREG_LIGHT4_Z]]
+
| [[#GPUREG_LIGHTx_Z|GPUREG_LIGHT4_Z]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT4_POSITION_Z
 
|PICA_REG_FRAG_LIGHT4_POSITION_Z
 
|-
 
|-
 
| 0186
 
| 0186
| [[#GPUREG_0186|GPUREG_LIGHT4_SPOTDIR_XY]]
+
| [[#GPUREG_LIGHTx_SPOTDIR_XY|GPUREG_LIGHT4_SPOTDIR_XY]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT4_SPOT_XY
 
|PICA_REG_FRAG_LIGHT4_SPOT_XY
 
|-
 
|-
 
| 0187
 
| 0187
| [[#GPUREG_0187|GPUREG_LIGHT4_SPOTDIR_Z]]
+
| [[#GPUREG_LIGHTx_SPOTDIR_Z|GPUREG_LIGHT4_SPOTDIR_Z]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT4_SPOT_Z
 
|PICA_REG_FRAG_LIGHT4_SPOT_Z
Line 2,029: Line 2,029:  
|-
 
|-
 
| 0189
 
| 0189
| [[#GPUREG_0189|GPUREG_LIGHT4_CONFIG]]
+
| [[#GPUREG_LIGHTx_CONFIG|GPUREG_LIGHT4_CONFIG]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT4_TYPE
 
|PICA_REG_FRAG_LIGHT4_TYPE
 
|-
 
|-
 
| 018A
 
| 018A
| [[#GPUREG_018A|GPUREG_LIGHT4_ATTENUATION_BIAS]]
+
| [[#GPUREG_LIGHTx_ATTENUATION_BIAS|GPUREG_LIGHT4_ATTENUATION_BIAS]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT4_DIST_ATTN_BIAS
 
|PICA_REG_FRAG_LIGHT4_DIST_ATTN_BIAS
 
|-
 
|-
 
| 018B
 
| 018B
| [[#GPUREG_018B|GPUREG_LIGHT4_ATTENUATION_SCALE]]
+
| [[#GPUREG_LIGHTx_ATTENUATION_SCALE|GPUREG_LIGHT4_ATTENUATION_SCALE]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT4_DIST_ATTN_SCALE
 
|PICA_REG_FRAG_LIGHT4_DIST_ATTN_SCALE
Line 2,064: Line 2,064:  
|-
 
|-
 
| 0190
 
| 0190
| [[#GPUREG_0190|GPUREG_LIGHT5_SPECULAR0]]
+
| [[#GPUREG_LIGHTx_SPECULAR0|GPUREG_LIGHT5_SPECULAR0]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT5_SPECULAR0
 
|PICA_REG_FRAG_LIGHT5_SPECULAR0
 
|-
 
|-
 
| 0191
 
| 0191
| [[#GPUREG_0191|GPUREG_LIGHT5_SPECULAR1]]
+
| [[#GPUREG_LIGHTx_SPECULAR1|GPUREG_LIGHT5_SPECULAR1]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT5_SPECULAR1
 
|PICA_REG_FRAG_LIGHT5_SPECULAR1
 
|-
 
|-
 
| 0192
 
| 0192
| [[#GPUREG_0192|GPUREG_LIGHT5_DIFFUSE]]
+
| [[#GPUREG_LIGHTx_DIFFUSE|GPUREG_LIGHT5_DIFFUSE]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT5_DIFFUSE
 
|PICA_REG_FRAG_LIGHT5_DIFFUSE
 
|-
 
|-
 
| 0193
 
| 0193
| [[#GPUREG_0193|GPUREG_LIGHT5_AMBIENT]]
+
| [[#GPUREG_LIGHTx_AMBIENT|GPUREG_LIGHT5_AMBIENT]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT5_AMBIENT
 
|PICA_REG_FRAG_LIGHT5_AMBIENT
 
|-
 
|-
 
| 0194
 
| 0194
| [[#GPUREG_0194|GPUREG_LIGHT5_XY]]
+
| [[#GPUREG_LIGHTx_XY|GPUREG_LIGHT5_XY]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT5_POSITION_XY
 
|PICA_REG_FRAG_LIGHT5_POSITION_XY
 
|-
 
|-
 
| 0195
 
| 0195
| [[#GPUREG_0195|GPUREG_LIGHT5_Z]]
+
| [[#GPUREG_LIGHTx_Z|GPUREG_LIGHT5_Z]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT5_POSITION_Z
 
|PICA_REG_FRAG_LIGHT5_POSITION_Z
 
|-
 
|-
 
| 0196
 
| 0196
| [[#GPUREG_0196|GPUREG_LIGHT5_SPOTDIR_XY]]
+
| [[#GPUREG_LIGHTx_SPOTDIR_XY|GPUREG_LIGHT5_SPOTDIR_XY]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT5_SPOT_XY
 
|PICA_REG_FRAG_LIGHT5_SPOT_XY
 
|-
 
|-
 
| 0197
 
| 0197
| [[#GPUREG_0197|GPUREG_LIGHT5_SPOTDIR_Z]]
+
| [[#GPUREG_LIGHTx_SPOTDIR_Z|GPUREG_LIGHT5_SPOTDIR_Z]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT5_SPOT_Z
 
|PICA_REG_FRAG_LIGHT5_SPOT_Z
Line 2,109: Line 2,109:  
|-
 
|-
 
| 0199
 
| 0199
| [[#GPUREG_0199|GPUREG_LIGHT5_CONFIG]]
+
| [[#GPUREG_LIGHTx_CONFIG|GPUREG_LIGHT5_CONFIG]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT5_TYPE
 
|PICA_REG_FRAG_LIGHT5_TYPE
 
|-
 
|-
 
| 019A
 
| 019A
| [[#GPUREG_019A|GPUREG_LIGHT5_ATTENUATION_BIAS]]
+
| [[#GPUREG_LIGHTx_ATTENUATION_BIAS|GPUREG_LIGHT5_ATTENUATION_BIAS]]
 
|  
 
|  
 
|
 
|
 
|-
 
|-
 
| 019B
 
| 019B
| [[#GPUREG_019B|GPUREG_LIGHT5_ATTENUATION_SCALE]]
+
| [[#GPUREG_LIGHTx_ATTENUATION_SCALE|GPUREG_LIGHT5_ATTENUATION_SCALE]]
 
|  
 
|  
 
|
 
|
Line 2,144: Line 2,144:  
|-
 
|-
 
| 01A0
 
| 01A0
| [[#GPUREG_01A0|GPUREG_LIGHT6_SPECULAR0]]
+
| [[#GPUREG_LIGHTx_SPECULAR0|GPUREG_LIGHT6_SPECULAR0]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT6_SPECULAR0
 
|PICA_REG_FRAG_LIGHT6_SPECULAR0
 
|-
 
|-
 
| 01A1
 
| 01A1
| [[#GPUREG_01A1|GPUREG_LIGHT6_SPECULAR1]]
+
| [[#GPUREG_LIGHTx_SPECULAR1|GPUREG_LIGHT6_SPECULAR1]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT6_SPECULAR1
 
|PICA_REG_FRAG_LIGHT6_SPECULAR1
 
|-
 
|-
 
| 01A2
 
| 01A2
| [[#GPUREG_01A2|GPUREG_LIGHT6_DIFFUSE]]
+
| [[#GPUREG_LIGHTx_DIFFUSE|GPUREG_LIGHT6_DIFFUSE]]
 
|  
 
|  
 
|PICA_REG_FRAG_LIGHT6_DIFFUSE
 
|PICA_REG_FRAG_LIGHT6_DIFFUSE
 
|-
 
|-
 
| 01A3
 
| 01A3
| [[#GPUREG_01A3|GPUREG_LIGHT6_AMBIENT]]
+
| [[#GPUREG_LIGHTx_AMBIENT|GPUREG_LIGHT6_AMBIENT]]
 
|  
 
|  
 
|PICA_REG_FRAG_LIGHT6_AMBIENT
 
|PICA_REG_FRAG_LIGHT6_AMBIENT
 
|-
 
|-
 
| 01A4
 
| 01A4
| [[#GPUREG_01A4|GPUREG_LIGHT6_XY]]
+
| [[#GPUREG_LIGHTx_XY|GPUREG_LIGHT6_XY]]
 
|  
 
|  
 
|PICA_REG_FRAG_LIGHT6_POSITION_XY
 
|PICA_REG_FRAG_LIGHT6_POSITION_XY
 
|-
 
|-
 
| 01A5
 
| 01A5
| [[#GPUREG_01A5|GPUREG_LIGHT6_Z]]
+
| [[#GPUREG_LIGHTx_Z|GPUREG_LIGHT6_Z]]
 
|  
 
|  
 
|PICA_REG_FRAG_LIGHT6_POSITION_Z
 
|PICA_REG_FRAG_LIGHT6_POSITION_Z
 
|-
 
|-
 
| 01A6
 
| 01A6
| [[#GPUREG_01A6|GPUREG_LIGHT6_SPOTDIR_XY]]
+
| [[#GPUREG_LIGHTx_SPOTDIR_XY|GPUREG_LIGHT6_SPOTDIR_XY]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT6_SPOT_XY
 
|PICA_REG_FRAG_LIGHT6_SPOT_XY
 
|-
 
|-
 
| 01A7
 
| 01A7
| [[#GPUREG_01A7|GPUREG_LIGHT6_SPOTDIR_Z]]
+
| [[#GPUREG_LIGHTx_SPOTDIR_Z|GPUREG_LIGHT6_SPOTDIR_Z]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT6_SPOT_Z
 
|PICA_REG_FRAG_LIGHT6_SPOT_Z
Line 2,189: Line 2,189:  
|-
 
|-
 
| 01A9
 
| 01A9
| [[#GPUREG_01A9|GPUREG_LIGHT6_CONFIG]]
+
| [[#GPUREG_LIGHTx_CONFIG|GPUREG_LIGHT6_CONFIG]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT6_TYPE
 
|PICA_REG_FRAG_LIGHT6_TYPE
 
|-
 
|-
 
| 01AA
 
| 01AA
| [[#GPUREG_01AA|GPUREG_LIGHT6_ATTENUATION_BIAS]]
+
| [[#GPUREG_LIGHTx_ATTENUATION_BIAS|GPUREG_LIGHT6_ATTENUATION_BIAS]]
 
|  
 
|  
 
|
 
|
 
|-
 
|-
 
| 01AB
 
| 01AB
| [[#GPUREG_01AB|GPUREG_LIGHT6_ATTENUATION_SCALE]]
+
| [[#GPUREG_LIGHTx_ATTENUATION_SCALE|GPUREG_LIGHT6_ATTENUATION_SCALE]]
 
|  
 
|  
 
|
 
|
Line 2,224: Line 2,224:  
|-
 
|-
 
| 01B0
 
| 01B0
| [[#GPUREG_01B0|GPUREG_LIGHT7_SPECULAR0]]
+
| [[#GPUREG_LIGHTx_SPECULAR0|GPUREG_LIGHT7_SPECULAR0]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT7_SPECULAR0
 
|PICA_REG_FRAG_LIGHT7_SPECULAR0
 
|-
 
|-
 
| 01B1
 
| 01B1
| [[#GPUREG_01B1|GPUREG_LIGHT7_SPECULAR1]]
+
| [[#GPUREG_LIGHTx_SPECULAR1|GPUREG_LIGHT7_SPECULAR1]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT7_SPECULAR1
 
|PICA_REG_FRAG_LIGHT7_SPECULAR1
 
|-
 
|-
 
| 01B2
 
| 01B2
| [[#GPUREG_01B2|GPUREG_LIGHT7_DIFFUSE]]
+
| [[#GPUREG_LIGHTx_DIFFUSE|GPUREG_LIGHT7_DIFFUSE]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT7_DIFFUSE
 
|PICA_REG_FRAG_LIGHT7_DIFFUSE
 
|-
 
|-
 
| 01B3
 
| 01B3
| [[#GPUREG_01B3|GPUREG_LIGHT7_AMBIENT]]
+
| [[#GPUREG_LIGHTx_AMBIENT|GPUREG_LIGHT7_AMBIENT]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT7_AMBIENT
 
|PICA_REG_FRAG_LIGHT7_AMBIENT
 
|-
 
|-
 
| 01B4
 
| 01B4
| [[#GPUREG_01B4|GPUREG_LIGHT7_XY]]
+
| [[#GPUREG_LIGHTx_XY|GPUREG_LIGHT7_XY]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT7_POSITION_XY
 
|PICA_REG_FRAG_LIGHT7_POSITION_XY
 
|-
 
|-
 
| 01B5
 
| 01B5
| [[#GPUREG_01B5|GPUREG_LIGHT7_Z]]
+
| [[#GPUREG_LIGHTx_Z|GPUREG_LIGHT7_Z]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT7_POSITION_Z
 
|PICA_REG_FRAG_LIGHT7_POSITION_Z
 
|-
 
|-
 
| 01B6
 
| 01B6
| [[#GPUREG_01B6|GPUREG_LIGHT7_SPOTDIR_XY]]
+
| [[#GPUREG_LIGHTx_SPOTDIR_XY|GPUREG_LIGHT7_SPOTDIR_XY]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT7_SPOT_XY
 
|PICA_REG_FRAG_LIGHT7_SPOT_XY
 
|-
 
|-
 
| 01B7
 
| 01B7
| [[#GPUREG_01B7|GPUREG_LIGHT7_SPOTDIR_Z]]
+
| [[#GPUREG_LIGHTx_SPOTDIR_Z|GPUREG_LIGHT7_SPOTDIR_Z]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT7_SPOT_Z
 
|PICA_REG_FRAG_LIGHT7_SPOT_Z
Line 2,269: Line 2,269:  
|-
 
|-
 
| 01B9
 
| 01B9
| [[#GPUREG_01B9|GPUREG_LIGHT7_CONFIG]]
+
| [[#GPUREG_LIGHTx_CONFIG|GPUREG_LIGHT7_CONFIG]]
 
|?
 
|?
 
|PICA_REG_FRAG_LIGHT7_TYPE
 
|PICA_REG_FRAG_LIGHT7_TYPE
 
|-
 
|-
 
| 01BA
 
| 01BA
| [[#GPUREG_01BA|GPUREG_LIGHT7_ATTENUATION_BIAS]]
+
| [[#GPUREG_LIGHTx_ATTENUATION_BIAS|GPUREG_LIGHT7_ATTENUATION_BIAS]]
 
|  
 
|  
 
|
 
|
 
|-
 
|-
 
| 01BB
 
| 01BB
| [[#GPUREG_01BB|GPUREG_LIGHT7_ATTENUATION_SCALE]]
+
| [[#GPUREG_LIGHTx_ATTENUATION_SCALE|GPUREG_LIGHT7_ATTENUATION_SCALE]]
 
|  
 
|  
 
|
 
|
Line 4,240: Line 4,240:  
=== GPUREG_LIGHTING_NUM_LIGHTS ===
 
=== GPUREG_LIGHTING_NUM_LIGHTS ===
   −
The number of active lights (0..8) are written to this register.
+
The number of active lights (0..8) is written to this register.
    
=== GPUREG_LIGHTING_LIGHT_PERMUTATION ===
 
=== GPUREG_LIGHTING_LIGHT_PERMUTATION ===
Line 4,418: Line 4,418:  
|}
 
|}
   −
This register controls the scaling that is applied to the output (or maybe the input?) of a LUT.
+
This register controls the scaling that is applied to the output of a LUT.
    
=== GPUREG_LIGHTING_LUT_INDEX ===
 
=== GPUREG_LIGHTING_LUT_INDEX ===
 +
 +
This register controls which LUT and what offset into it the LUT_DATA register writes to.
    
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
Line 4,498: Line 4,500:  
| Sign bit of the difference (0=positive, 1=negative)
 
| Sign bit of the difference (0=positive, 1=negative)
 
|}
 
|}
 +
 +
=== GPUREG_LIGHTING_AMBIENT ===
 +
 +
{| class="wikitable" border="1"
 +
! Bits
 +
! Description
 +
|-
 +
| 0-7
 +
| Blue component (0..255)
 +
|-
 +
| 10-17
 +
| Green component (0..255)
 +
|-
 +
| 20-27
 +
| Red component (0..255)
 +
|}
 +
 +
This register contains the initial value of the fragment primary color before the partial colors that correspond to each enabled light are added. Usually set to material_emission + material_ambient*scene_ambient.
 +
 +
=== GPUREG_LIGHTx_CONFIG ===
 +
 +
{| class="wikitable" border="1"
 +
! Bits
 +
! Description
 +
|-
 +
| 0
 +
| Light type (0 = directional light, 1 = positional light)
 +
|-
 +
| 1
 +
| Two side diffuse (0=disable, 1=enable)
 +
|-
 +
| 2
 +
| Geometric factor 0 (0=disable, 1=enable)
 +
|-
 +
| 3
 +
| Geometric factor 1 (0=disable, 1=enable)
 +
|}
 +
 +
=== GPUREG_LIGHTx_XY ===
 +
 +
{| class="wikitable" border="1"
 +
! Bits
 +
! Description
 +
|-
 +
| 0-15
 +
| X coordinate (float16 = 1.5.10)
 +
|-
 +
| 16-31
 +
| Y coordinate (float16 = 1.5.10)
 +
|}
 +
 +
These registers (along with _Z) represent the light position (for a positional light) or the light direction vector (for a directional light) of the corresponding light.
 +
 +
=== GPUREG_LIGHTx_Z ===
 +
 +
{| class="wikitable" border="1"
 +
! Bits
 +
! Description
 +
|-
 +
| 0-15
 +
| Z coordinate (float16 = 1.5.10)
 +
|}
 +
 +
These registers (along with _XY) represent the light position (for a positional light) or the light direction vector (for a directional light) of the corresponding light.
 +
 +
=== GPUREG_LIGHTx_SPOTDIR_XY ===
 +
 +
{| class="wikitable" border="1"
 +
! Bits
 +
! Description
 +
|-
 +
| 0-12
 +
| X coordinate (2.11 signed fixed point) (Usually the input value is negated)
 +
|-
 +
| 16-28
 +
| Y coordinate (2.11 signed fixed point) (Usually the input value is negated)
 +
|}
 +
 +
These registers (along with _Z) represent the spot direction (unitary) vector of the corresponding light .
 +
 +
=== GPUREG_LIGHTx_SPOTDIR_Z ===
 +
 +
{| class="wikitable" border="1"
 +
! Bits
 +
! Description
 +
|-
 +
| 0-12
 +
| Z coordinate (2.11 signed fixed point) (Usually the input value is negated)
 +
|}
 +
 +
These registers (along with _XY) represent the spot direction (unitary) vector of the corresponding light.
 +
 +
=== GPUREG_LIGHTx_ATTENUATION_BIAS ===
 +
 +
These registers contain the distance attenuation bias value (float20 = 1.7.12) of the corresponding light.
 +
 +
=== GPUREG_LIGHTx_ATTENUATION_SCALE ===
 +
 +
These registers contain the distance attenuation scale value (float20 = 1.7.12) of the corresponding light.
 +
 +
=== GPUREG_LIGHTx_AMBIENT ===
 +
 +
These registers contain the ambient color (same format as GPUREG_LIGHTING_AMBIENT) of the corresponding light. Usually set to material_ambient*lightX_ambient.
 +
 +
=== GPUREG_LIGHTx_DIFFUSE ===
 +
 +
These registers contain the diffuse color (same format as GPUREG_LIGHTING_AMBIENT) of the corresponding light. Usually set to material_diffuse*lightX_diffuse.
 +
 +
=== GPUREG_LIGHTx_SPECULAR0 ===
 +
 +
These registers contain the specular0 color (same format as GPUREG_LIGHTING_AMBIENT) of the corresponding light. Usually set to material_specular0*lightX_specular0.
 +
 +
=== GPUREG_LIGHTx_SPECULAR1 ===
 +
 +
These registers contain the specular1 color (same format as GPUREG_LIGHTING_AMBIENT) of the corresponding light. Usually set to material_specular1*lightX_specular1.
    
== Geometry pipeline registers ==
 
== Geometry pipeline registers ==