GPU/Internal Registers: Difference between revisions

Fragment lighting, part 1
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 ==