Difference between revisions of "Nintendo OpenGL"
m |
m (→Description) |
||
(24 intermediate revisions by 5 users not shown) | |||
Line 4: | Line 4: | ||
== Description == | == Description == | ||
− | The PICA200 is an | + | The PICA200 is an OpenGL ES 1.1 compliant GPU manufactured by DMP. It comes loaded with a number of extensions that make it similar to an OpenGL ES 2.0 compliant GPU (ability to run programmable vertex/geometry shaders, for instance). Because of this, Nintendo wrapped GPU access into an OpenGL ES 2.0 implementation with some limitations. As the fragment stage of the pipeline is non-programmable, Nintendo instead gives developers the ability to configure a number of fragment-related values through glGetUniformLocation and glUniformXX. See below for the full list. |
== Shader program structure == | == Shader program structure == | ||
Line 39: | Line 39: | ||
| 0x04 | | 0x04 | ||
| Number of program-specific uniforms | | Number of program-specific uniforms | ||
+ | |- | ||
+ | | 0x414 | ||
+ | | 0x04 | ||
+ | | Pointer to vertex shader struct | ||
|- | |- | ||
| 0x64C | | 0x64C | ||
Line 102: | Line 106: | ||
| 0x04 | | 0x04 | ||
| dmp_FragmentLightSource[k].distanceAttenuationScale (float) | | dmp_FragmentLightSource[k].distanceAttenuationScale (float) | ||
+ | |} | ||
+ | |||
+ | vertex/geometry shader struct: | ||
+ | {| class="wikitable" border="1" | ||
+ | ! Offset | ||
+ | ! Size | ||
+ | ! Description | ||
+ | |- | ||
+ | | 0x0 | ||
+ | | 0x4 | ||
+ | | Pointer to shader code data | ||
+ | |- | ||
+ | | 0x4 | ||
+ | | 0x4 | ||
+ | | Size of shader code (in words) | ||
+ | |- | ||
+ | | 0x8 | ||
+ | | 0x4 | ||
+ | | Pointer to shader opdesc data | ||
+ | |- | ||
+ | | 0xC | ||
+ | | 0x4 | ||
+ | | Size of shader opdescs (in words) | ||
|} | |} | ||
Line 110: | Line 137: | ||
2. Take note of its ID and type ! | 2. Take note of its ID and type ! | ||
− | 3. Depending on whether its a float or not, go through the gigantic switches in shm_uniformfv or shm_uniformiv (non-float) based on the ID of your uniform | + | 3. Depending on whether its a float or not, go through the gigantic switches in shm_uniformfv or shm_uniformiv (non-float) based on the ID of your uniform (in the case of '''steeldiver: sub wars''' you can now just go directly to the handler as it's listed in the table below) |
4. Once you find the piece of code specific to your uniform, take note of how the values passed to shm_uniformfv/shm_uniformiv are written to the shader object | 4. Once you find the piece of code specific to your uniform, take note of how the values passed to shm_uniformfv/shm_uniformiv are written to the shader object | ||
Line 124: | Line 151: | ||
! Type | ! Type | ||
! Name | ! Name | ||
− | ! Handler address | + | ! Handler address (Steeldiver : Sub Wars) |
+ | ! Shader Program struct offset | ||
+ | ! GPU Register | ||
|- | |- | ||
| 0x0 | | 0x0 | ||
Line 130: | Line 159: | ||
| dmp_Texture[0].perspectiveShadow | | dmp_Texture[0].perspectiveShadow | ||
| 0x0012A504 | | 0x0012A504 | ||
+ | | ? | ||
+ | | 0x008B bit0 (0 = enable??) | ||
|- | |- | ||
| 0x1 | | 0x1 | ||
Line 135: | Line 166: | ||
| dmp_Texture[0].shadowZBias | | dmp_Texture[0].shadowZBias | ||
| 0x00155584 | | 0x00155584 | ||
+ | | 0xE44 | ||
+ | | ? | ||
|- | |- | ||
| 0x2 | | 0x2 | ||
Line 140: | Line 173: | ||
| dmp_Texture[0].shadowZScale | | dmp_Texture[0].shadowZScale | ||
| 0x001556A0 | | 0x001556A0 | ||
+ | | 0xE48 | ||
+ | | ? | ||
|- | |- | ||
| 0x3 | | 0x3 | ||
Line 145: | Line 180: | ||
| dmp_Texture[0].samplerType | | dmp_Texture[0].samplerType | ||
| 0x0012A5D0 | | 0x0012A5D0 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0x4 | | 0x4 | ||
Line 150: | Line 187: | ||
| dmp_Texture[1].samplerType | | dmp_Texture[1].samplerType | ||
| 0x0012A6F8 | | 0x0012A6F8 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0x5 | | 0x5 | ||
Line 155: | Line 194: | ||
| dmp_Texture[2].samplerType | | dmp_Texture[2].samplerType | ||
| 0x0012A774 | | 0x0012A774 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0x6 | | 0x6 | ||
Line 160: | Line 201: | ||
| dmp_Texture[3].samplerType | | dmp_Texture[3].samplerType | ||
| 0x0012A7F0 | | 0x0012A7F0 | ||
+ | | ? | ||
+ | | 0x0080 bit10 (?) | ||
|- | |- | ||
| 0x7 | | 0x7 | ||
Line 165: | Line 208: | ||
| dmp_Texture[2].texcoord | | dmp_Texture[2].texcoord | ||
| 0x0012A8B4 | | 0x0012A8B4 | ||
+ | | ? | ||
+ | | 0x0080 bit13 (1 = use texcoords from texture unit 1) | ||
|- | |- | ||
| 0x8 | | 0x8 | ||
Line 170: | Line 215: | ||
| dmp_Texture[3].texcoord | | dmp_Texture[3].texcoord | ||
| 0x0012A97C | | 0x0012A97C | ||
+ | | ? | ||
+ | | 0x0080 bit8-9 (0-2 = use texcoords from texture unit 0-2 resp., 3 = forbidden?) | ||
|- | |- | ||
| 0x9 | | 0x9 | ||
Line 175: | Line 222: | ||
| dmp_Texture[3].ptRgbMap | | dmp_Texture[3].ptRgbMap | ||
| 0x0012AA54 | | 0x0012AA54 | ||
+ | | ? | ||
+ | | 0x00A8 bit6-9 | ||
|- | |- | ||
| 0xA | | 0xA | ||
Line 180: | Line 229: | ||
| dmp_Texture[3].ptAlphaMap | | dmp_Texture[3].ptAlphaMap | ||
| 0x0012AB94 | | 0x0012AB94 | ||
+ | | ? | ||
+ | | 0x00A8 bit10-13 | ||
|- | |- | ||
| 0xB | | 0xB | ||
Line 185: | Line 236: | ||
| dmp_Texture[3].ptAlphaSeparate | | dmp_Texture[3].ptAlphaSeparate | ||
| 0x0012ACD4 | | 0x0012ACD4 | ||
+ | | ? | ||
+ | | 0x00A8 bit14 | ||
|- | |- | ||
| 0xC | | 0xC | ||
Line 190: | Line 243: | ||
| dmp_Texture[3].ptClampU | | dmp_Texture[3].ptClampU | ||
| 0x0012ADB8 | | 0x0012ADB8 | ||
+ | | ? | ||
+ | | 0x00A8 bit0-2 | ||
|- | |- | ||
| 0xD | | 0xD | ||
Line 195: | Line 250: | ||
| dmp_Texture[3].ptClampV | | dmp_Texture[3].ptClampV | ||
| 0x0012AEC0 | | 0x0012AEC0 | ||
+ | | ? | ||
+ | | 0x00A8 bit3-5 | ||
|- | |- | ||
| 0xE | | 0xE | ||
Line 200: | Line 257: | ||
| dmp_Texture[3].ptShiftU | | dmp_Texture[3].ptShiftU | ||
| 0x0012AFD0 | | 0x0012AFD0 | ||
+ | | ? | ||
+ | | 0x00A8 bit16-17 | ||
|- | |- | ||
| 0xF | | 0xF | ||
Line 205: | Line 264: | ||
| dmp_Texture[3].ptShiftV | | dmp_Texture[3].ptShiftV | ||
| 0x0012B0A0 | | 0x0012B0A0 | ||
+ | | ? | ||
+ | | 0x00A8 bit18-19 | ||
|- | |- | ||
| 0x10 | | 0x10 | ||
Line 210: | Line 271: | ||
| dmp_Texture[3].ptMinFilter | | dmp_Texture[3].ptMinFilter | ||
| 0x0012B168 | | 0x0012B168 | ||
+ | | ? | ||
+ | | 0x00AC bit0-2 | ||
|- | |- | ||
| 0x11 | | 0x11 | ||
Line 215: | Line 278: | ||
| dmp_Texture[3].ptTexWidth | | dmp_Texture[3].ptTexWidth | ||
| 0x0012B270 | | 0x0012B270 | ||
+ | | ? | ||
+ | | 0x00AC bit11-18 | ||
|- | |- | ||
| 0x12 | | 0x12 | ||
Line 220: | Line 285: | ||
| dmp_Texture[3].ptTexOffset | | dmp_Texture[3].ptTexOffset | ||
| 0x0012B334 | | 0x0012B334 | ||
+ | | ? | ||
+ | | 0x00AD bit0-7 | ||
|- | |- | ||
| 0x13 | | 0x13 | ||
Line 225: | Line 292: | ||
| dmp_Texture[3].ptTexBias | | dmp_Texture[3].ptTexBias | ||
| 0x001556B4 | | 0x001556B4 | ||
+ | | 0xE10 | ||
+ | | 0x00A8 bit20-27 | ||
|- | |- | ||
| 0x14 | | 0x14 | ||
Line 230: | Line 299: | ||
| dmp_Texture[3].ptNoiseEnable | | dmp_Texture[3].ptNoiseEnable | ||
| 0x0012B3E0 | | 0x0012B3E0 | ||
+ | | ? | ||
+ | | 0x00A8 bit15 | ||
|- | |- | ||
| 0x15 | | 0x15 | ||
Line 235: | Line 306: | ||
| dmp_Texture[3].ptNoiseU | | dmp_Texture[3].ptNoiseU | ||
| 0x00155878 | | 0x00155878 | ||
+ | | 0xE14 | ||
+ | | 0x00A9, 0x00AB | ||
|- | |- | ||
| 0x16 | | 0x16 | ||
Line 240: | Line 313: | ||
| dmp_Texture[3].ptNoiseV | | dmp_Texture[3].ptNoiseV | ||
| 0x00155A7C | | 0x00155A7C | ||
+ | | 0xE20 | ||
+ | | 0x00AA, 0x00AB | ||
|- | |- | ||
| 0x17 | | 0x17 | ||
Line 245: | Line 320: | ||
| dmp_Texture[3].ptSamplerRgbMap | | dmp_Texture[3].ptSamplerRgbMap | ||
| 0x0012B4B0 | | 0x0012B4B0 | ||
+ | | 0xDF0 | ||
+ | | ? | ||
|- | |- | ||
| 0x18 | | 0x18 | ||
Line 250: | Line 327: | ||
| dmp_Texture[3].ptSamplerAlphaMap | | dmp_Texture[3].ptSamplerAlphaMap | ||
| 0x0012B4F4 | | 0x0012B4F4 | ||
+ | | 0xDF4 | ||
+ | | ? | ||
|- | |- | ||
| 0x19 | | 0x19 | ||
Line 255: | Line 334: | ||
| dmp_Texture[3].ptSamplerNoiseMap | | dmp_Texture[3].ptSamplerNoiseMap | ||
| 0x0012B540 | | 0x0012B540 | ||
+ | | 0xDF8 | ||
+ | | ? | ||
|- | |- | ||
| 0x1A | | 0x1A | ||
Line 260: | Line 341: | ||
| dmp_Texture[3].ptSamplerR | | dmp_Texture[3].ptSamplerR | ||
| 0x0012B58C | | 0x0012B58C | ||
+ | | 0xDFC | ||
+ | | ? | ||
|- | |- | ||
| 0x1B | | 0x1B | ||
Line 265: | Line 348: | ||
| dmp_Texture[3].ptSamplerG | | dmp_Texture[3].ptSamplerG | ||
| 0x0012B5D8 | | 0x0012B5D8 | ||
+ | | 0xE00 | ||
+ | | ? | ||
|- | |- | ||
| 0x1C | | 0x1C | ||
Line 270: | Line 355: | ||
| dmp_Texture[3].ptSamplerB | | dmp_Texture[3].ptSamplerB | ||
| 0x0012B624 | | 0x0012B624 | ||
+ | | 0xE04 | ||
+ | | ? | ||
|- | |- | ||
| 0x1D | | 0x1D | ||
Line 275: | Line 362: | ||
| dmp_Texture[3].ptSamplerA | | dmp_Texture[3].ptSamplerA | ||
| 0x0012B670 | | 0x0012B670 | ||
+ | | 0xE08 | ||
+ | | ? | ||
|- | |- | ||
| 0x1E | | 0x1E | ||
Line 280: | Line 369: | ||
| dmp_FragOperation.mode | | dmp_FragOperation.mode | ||
| 0x0012B6BC | | 0x0012B6BC | ||
+ | | 0xE38 | ||
+ | | ? | ||
|- | |- | ||
| 0x1F | | 0x1F | ||
Line 285: | Line 376: | ||
| dmp_FragOperation.penumbraScale | | dmp_FragOperation.penumbraScale | ||
| 0x00155C98 | | 0x00155C98 | ||
+ | | 0xE40 | ||
+ | | ? | ||
|- | |- | ||
| 0x20 | | 0x20 | ||
Line 290: | Line 383: | ||
| dmp_FragOperation.penumbraBias | | dmp_FragOperation.penumbraBias | ||
| 0x00155D8C | | 0x00155D8C | ||
+ | | 0xE3C | ||
+ | | ? | ||
|- | |- | ||
| 0x21 | | 0x21 | ||
Line 295: | Line 390: | ||
| dmp_FragOperation.wScale | | dmp_FragOperation.wScale | ||
| 0x00155E9C | | 0x00155E9C | ||
+ | | 0xE4C | ||
+ | | ? | ||
|- | |- | ||
| 0x22 | | 0x22 | ||
Line 300: | Line 397: | ||
| dmp_FragOperation.enableClippingPlane | | dmp_FragOperation.enableClippingPlane | ||
| 0x0012EAEC | | 0x0012EAEC | ||
+ | | 0x568 | ||
+ | | 0x0047 bit0 | ||
|- | |- | ||
| 0x23 | | 0x23 | ||
Line 305: | Line 404: | ||
| dmp_FragOperation.clippingPlane | | dmp_FragOperation.clippingPlane | ||
| 0x00159474 | | 0x00159474 | ||
+ | | 0xE50 | ||
+ | | ? | ||
|- | |- | ||
| 0x24 | | 0x24 | ||
Line 310: | Line 411: | ||
| dmp_FragOperation.enableAlphaTest | | dmp_FragOperation.enableAlphaTest | ||
| 0x0012EBAC | | 0x0012EBAC | ||
+ | | 0x64C | ||
+ | | ? | ||
|- | |- | ||
| 0x25 | | 0x25 | ||
Line 315: | Line 418: | ||
| dmp_FragOperation.alphaTestFunc | | dmp_FragOperation.alphaTestFunc | ||
| 0x0012EC64 | | 0x0012EC64 | ||
+ | | 0x64C | ||
+ | | ? | ||
|- | |- | ||
| 0x26 | | 0x26 | ||
Line 320: | Line 425: | ||
| dmp_FragOperation.alphaRefValue | | dmp_FragOperation.alphaRefValue | ||
| 0x0015971C | | 0x0015971C | ||
+ | | 0x64C ? | ||
+ | | ? | ||
|- | |- | ||
| 0x27 | | 0x27 | ||
Line 325: | Line 432: | ||
| dmp_Gas.lightXY | | dmp_Gas.lightXY | ||
| 0x001560EC | | 0x001560EC | ||
+ | | 0xE84 | ||
+ | | 0x0120 (vec[0] -> bit0-7, vec[1] -> bit8-15, vec[2] -> bit16-23) | ||
|- | |- | ||
| 0x28 | | 0x28 | ||
Line 330: | Line 439: | ||
| dmp_Gas.lightZ | | dmp_Gas.lightZ | ||
| 0x00156268 | | 0x00156268 | ||
+ | | 0xE90 | ||
+ | | 0x0121 (vec[0] -> bit0-7, vec[1] -> bit8-15, vec[2] -> bit16-23), 0x0122 (vec[3] -> bit 0-7) | ||
|- | |- | ||
| 0x29 | | 0x29 | ||
Line 335: | Line 446: | ||
| dmp_Gas.deltaZ | | dmp_Gas.deltaZ | ||
| 0x001564D4 | | 0x001564D4 | ||
+ | | 0xEA0 | ||
+ | | 0x0126 bit0-23 | ||
|- | |- | ||
| 0x2A | | 0x2A | ||
Line 340: | Line 453: | ||
| dmp_Gas.accMax | | dmp_Gas.accMax | ||
| 0x001565C0 | | 0x001565C0 | ||
+ | | 0xEA4 | ||
+ | | 0x00E5 | ||
|- | |- | ||
| 0x2B | | 0x2B | ||
Line 345: | Line 460: | ||
| dmp_Gas.autoAcc | | dmp_Gas.autoAcc | ||
| 0x0012B790 | | 0x0012B790 | ||
+ | | 0xE74 | ||
+ | | ? | ||
|- | |- | ||
| 0x2C | | 0x2C | ||
Line 350: | Line 467: | ||
| dmp_Gas.attenuation | | dmp_Gas.attenuation | ||
| 0x00156684 | | 0x00156684 | ||
+ | | 0xEA8 | ||
+ | | 0x00E4 | ||
|- | |- | ||
| 0x2D | | 0x2D | ||
Line 355: | Line 474: | ||
| dmp_Gas.colorLutInput | | dmp_Gas.colorLutInput | ||
| 0x0012B7A4 | | 0x0012B7A4 | ||
+ | | 0x640 | ||
+ | | 0x0122 bit8 (0x6060/0x6061 -> 0/1) | ||
|- | |- | ||
| 0x2E | | 0x2E | ||
Line 360: | Line 481: | ||
| dmp_Gas.shadingDensitySrc | | dmp_Gas.shadingDensitySrc | ||
| 0x0012B854 | | 0x0012B854 | ||
+ | | 0x624 | ||
+ | | 0x00E0 bit3 (0x605E/0x605F -> 0/1) | ||
|- | |- | ||
| 0x2F | | 0x2F | ||
Line 365: | Line 488: | ||
| dmp_Gas.samplerTR | | dmp_Gas.samplerTR | ||
| 0x0012B910 | | 0x0012B910 | ||
+ | | 0xE78 | ||
+ | | ? | ||
|- | |- | ||
| 0x30 | | 0x30 | ||
Line 370: | Line 495: | ||
| dmp_Gas.samplerTG | | dmp_Gas.samplerTG | ||
| 0x0012B95C | | 0x0012B95C | ||
+ | | 0xE7C | ||
+ | | ? | ||
|- | |- | ||
| 0x31 | | 0x31 | ||
Line 375: | Line 502: | ||
| dmp_Gas.samplerTB | | dmp_Gas.samplerTB | ||
| 0x0012B9A8 | | 0x0012B9A8 | ||
+ | | 0xE80 | ||
+ | | ? | ||
|- | |- | ||
| 0x32 | | 0x32 | ||
Line 380: | Line 509: | ||
| dmp_FragmentLighting.enabled | | dmp_FragmentLighting.enabled | ||
| 0x0012B9F4 | | 0x0012B9F4 | ||
+ | | 0x590 | ||
+ | | 0x00A8 bit0, 0x01C6 (0 = enabled) | ||
|- | |- | ||
| 0x33 | | 0x33 | ||
Line 385: | Line 516: | ||
| dmp_FragmentLighting.ambient | | dmp_FragmentLighting.ambient | ||
| 0x00156744 | | 0x00156744 | ||
+ | | 0xA10 | ||
+ | | 0x01C0? | ||
|- | |- | ||
| 0x34 | | 0x34 | ||
Line 390: | Line 523: | ||
| dmp_FragmentMaterial.emission | | dmp_FragmentMaterial.emission | ||
| 0x00156E1C | | 0x00156E1C | ||
+ | | 0xDE0 | ||
+ | | 0x01C0? | ||
|- | |- | ||
| 0x35 | | 0x35 | ||
Line 395: | Line 530: | ||
| dmp_FragmentMaterial.ambient | | dmp_FragmentMaterial.ambient | ||
| 0x0015696C | | 0x0015696C | ||
+ | | 0xDA0 | ||
+ | | 0x01C0 | ||
|- | |- | ||
| 0x36 | | 0x36 | ||
Line 400: | Line 537: | ||
| dmp_FragmentMaterial.diffuse | | dmp_FragmentMaterial.diffuse | ||
| 0x00157048 | | 0x00157048 | ||
+ | | 0xDB0 | ||
+ | | ? | ||
|- | |- | ||
| 0x37 | | 0x37 | ||
Line 405: | Line 544: | ||
| dmp_FragmentMaterial.specular0 | | dmp_FragmentMaterial.specular0 | ||
| 0x001572E0 | | 0x001572E0 | ||
+ | | 0xDC0 | ||
+ | | ? | ||
|- | |- | ||
| 0x38 | | 0x38 | ||
Line 410: | Line 551: | ||
| dmp_FragmentMaterial.specular1 | | dmp_FragmentMaterial.specular1 | ||
| 0x0015756C | | 0x0015756C | ||
+ | | 0xDD0 | ||
+ | | ? | ||
|- | |- | ||
| 0x39 | | 0x39 | ||
Line 415: | Line 558: | ||
| dmp_FragmentLightSource[0].enabled | | dmp_FragmentLightSource[0].enabled | ||
| 0x0012BD24 | | 0x0012BD24 | ||
+ | | 0xA20+0*0x70+0x00 | ||
+ | | 0x01C5 | ||
|- | |- | ||
| 0x3A | | 0x3A | ||
Line 420: | Line 565: | ||
| dmp_FragmentLightSource[1].enabled | | dmp_FragmentLightSource[1].enabled | ||
| 0x0012BD24 | | 0x0012BD24 | ||
+ | | 0xA20+1*0x70+0x00 | ||
+ | | 0x01C5 | ||
|- | |- | ||
| 0x3B | | 0x3B | ||
Line 425: | Line 572: | ||
| dmp_FragmentLightSource[2].enabled | | dmp_FragmentLightSource[2].enabled | ||
| 0x0012BD24 | | 0x0012BD24 | ||
+ | | 0xA20+2*0x70+0x00 | ||
+ | | 0x01C5 | ||
|- | |- | ||
| 0x3C | | 0x3C | ||
Line 430: | Line 579: | ||
| dmp_FragmentLightSource[3].enabled | | dmp_FragmentLightSource[3].enabled | ||
| 0x0012BD24 | | 0x0012BD24 | ||
+ | | 0xA20+3*0x70+0x00 | ||
+ | | 0x01C5 | ||
|- | |- | ||
| 0x3D | | 0x3D | ||
Line 435: | Line 586: | ||
| dmp_FragmentLightSource[4].enabled | | dmp_FragmentLightSource[4].enabled | ||
| 0x0012BD24 | | 0x0012BD24 | ||
+ | | 0xA20+4*0x70+0x00 | ||
+ | | 0x01C5 | ||
|- | |- | ||
| 0x3E | | 0x3E | ||
Line 440: | Line 593: | ||
| dmp_FragmentLightSource[5].enabled | | dmp_FragmentLightSource[5].enabled | ||
| 0x0012BD24 | | 0x0012BD24 | ||
+ | | 0xA20+5*0x70+0x00 | ||
+ | | 0x01C5 | ||
|- | |- | ||
| 0x3F | | 0x3F | ||
Line 445: | Line 600: | ||
| dmp_FragmentLightSource[6].enabled | | dmp_FragmentLightSource[6].enabled | ||
| 0x0012BD24 | | 0x0012BD24 | ||
+ | | 0xA20+6*0x70+0x00 | ||
+ | | 0x01C5 | ||
|- | |- | ||
| 0x40 | | 0x40 | ||
Line 450: | Line 607: | ||
| dmp_FragmentLightSource[7].enabled | | dmp_FragmentLightSource[7].enabled | ||
| 0x0012BD24 | | 0x0012BD24 | ||
+ | | 0xA20+7*0x70+0x00 | ||
+ | | 0x01C5 | ||
|- | |- | ||
| 0x41 | | 0x41 | ||
Line 455: | Line 614: | ||
| dmp_FragmentLightSource[0].ambient | | dmp_FragmentLightSource[0].ambient | ||
| 0x001579CC | | 0x001579CC | ||
+ | | 0xA20+0*0x70+0x04 | ||
+ | | 0x0143 | ||
|- | |- | ||
| 0x42 | | 0x42 | ||
Line 460: | Line 621: | ||
| dmp_FragmentLightSource[1].ambient | | dmp_FragmentLightSource[1].ambient | ||
| 0x001579CC | | 0x001579CC | ||
+ | | 0xA20+1*0x70+0x04 | ||
+ | | 0x0153 | ||
|- | |- | ||
| 0x43 | | 0x43 | ||
Line 465: | Line 628: | ||
| dmp_FragmentLightSource[2].ambient | | dmp_FragmentLightSource[2].ambient | ||
| 0x001579CC | | 0x001579CC | ||
+ | | 0xA20+2*0x70+0x04 | ||
+ | | 0x0163 | ||
|- | |- | ||
| 0x44 | | 0x44 | ||
Line 470: | Line 635: | ||
| dmp_FragmentLightSource[3].ambient | | dmp_FragmentLightSource[3].ambient | ||
| 0x001579CC | | 0x001579CC | ||
+ | | 0xA20+3*0x70+0x04 | ||
+ | | 0x0173 | ||
|- | |- | ||
| 0x45 | | 0x45 | ||
Line 475: | Line 642: | ||
| dmp_FragmentLightSource[4].ambient | | dmp_FragmentLightSource[4].ambient | ||
| 0x001579CC | | 0x001579CC | ||
+ | | 0xA20+4*0x70+0x04 | ||
+ | | 0x0183 | ||
|- | |- | ||
| 0x46 | | 0x46 | ||
Line 480: | Line 649: | ||
| dmp_FragmentLightSource[5].ambient | | dmp_FragmentLightSource[5].ambient | ||
| 0x001579CC | | 0x001579CC | ||
+ | | 0xA20+5*0x70+0x04 | ||
+ | | 0x0193 | ||
|- | |- | ||
| 0x47 | | 0x47 | ||
Line 485: | Line 656: | ||
| dmp_FragmentLightSource[6].ambient | | dmp_FragmentLightSource[6].ambient | ||
| 0x001579CC | | 0x001579CC | ||
+ | | 0xA20+6*0x70+0x04 | ||
+ | | 0x01A3 | ||
|- | |- | ||
| 0x48 | | 0x48 | ||
Line 490: | Line 663: | ||
| dmp_FragmentLightSource[7].ambient | | dmp_FragmentLightSource[7].ambient | ||
| 0x001579CC | | 0x001579CC | ||
+ | | 0xA20+7*0x70+0x04 | ||
+ | | 0x01B3 | ||
|- | |- | ||
| 0x49 | | 0x49 | ||
Line 495: | Line 670: | ||
| dmp_FragmentLightSource[0].diffuse | | dmp_FragmentLightSource[0].diffuse | ||
| 0x00157C10 | | 0x00157C10 | ||
+ | | 0xA20+0*0x70+0x14 | ||
+ | | 0x0142 | ||
|- | |- | ||
| 0x4A | | 0x4A | ||
Line 500: | Line 677: | ||
| dmp_FragmentLightSource[1].diffuse | | dmp_FragmentLightSource[1].diffuse | ||
| 0x00157C10 | | 0x00157C10 | ||
+ | | 0xA20+1*0x70+0x14 | ||
+ | | 0x0152 | ||
|- | |- | ||
| 0x4B | | 0x4B | ||
Line 505: | Line 684: | ||
| dmp_FragmentLightSource[2].diffuse | | dmp_FragmentLightSource[2].diffuse | ||
| 0x00157C10 | | 0x00157C10 | ||
+ | | 0xA20+2*0x70+0x14 | ||
+ | | 0x0162 | ||
|- | |- | ||
| 0x4C | | 0x4C | ||
Line 510: | Line 691: | ||
| dmp_FragmentLightSource[3].diffuse | | dmp_FragmentLightSource[3].diffuse | ||
| 0x00157C10 | | 0x00157C10 | ||
+ | | 0xA20+3*0x70+0x14 | ||
+ | | 0x0172 | ||
|- | |- | ||
| 0x4D | | 0x4D | ||
Line 515: | Line 698: | ||
| dmp_FragmentLightSource[4].diffuse | | dmp_FragmentLightSource[4].diffuse | ||
| 0x00157C10 | | 0x00157C10 | ||
+ | | 0xA20+4*0x70+0x14 | ||
+ | | 0x0182 | ||
|- | |- | ||
| 0x4E | | 0x4E | ||
Line 520: | Line 705: | ||
| dmp_FragmentLightSource[5].diffuse | | dmp_FragmentLightSource[5].diffuse | ||
| 0x00157C10 | | 0x00157C10 | ||
+ | | 0xA20+5*0x70+0x14 | ||
+ | | 0x0192 | ||
|- | |- | ||
| 0x4F | | 0x4F | ||
Line 525: | Line 712: | ||
| dmp_FragmentLightSource[6].diffuse | | dmp_FragmentLightSource[6].diffuse | ||
| 0x00157C10 | | 0x00157C10 | ||
+ | | 0xA20+6*0x70+0x14 | ||
+ | | 0x01A2 | ||
|- | |- | ||
| 0x50 | | 0x50 | ||
Line 530: | Line 719: | ||
| dmp_FragmentLightSource[7].diffuse | | dmp_FragmentLightSource[7].diffuse | ||
| 0x00157C10 | | 0x00157C10 | ||
+ | | 0xA20+7*0x70+0x14 | ||
+ | | 0x01B2 | ||
|- | |- | ||
| 0x51 | | 0x51 | ||
Line 535: | Line 726: | ||
| dmp_FragmentLightSource[0].specular0 | | dmp_FragmentLightSource[0].specular0 | ||
| 0x00157E5C | | 0x00157E5C | ||
+ | | 0xA20+0*0x70+0x24 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x52 | | 0x52 | ||
Line 540: | Line 733: | ||
| dmp_FragmentLightSource[1].specular0 | | dmp_FragmentLightSource[1].specular0 | ||
| 0x00157E5C | | 0x00157E5C | ||
+ | | 0xA20+1*0x70+0x24 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x53 | | 0x53 | ||
Line 545: | Line 740: | ||
| dmp_FragmentLightSource[2].specular0 | | dmp_FragmentLightSource[2].specular0 | ||
| 0x00157E5C | | 0x00157E5C | ||
+ | | 0xA20+2*0x70+0x24 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x54 | | 0x54 | ||
Line 550: | Line 747: | ||
| dmp_FragmentLightSource[3].specular0 | | dmp_FragmentLightSource[3].specular0 | ||
| 0x00157E5C | | 0x00157E5C | ||
+ | | 0xA20+3*0x70+0x24 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x55 | | 0x55 | ||
Line 555: | Line 754: | ||
| dmp_FragmentLightSource[4].specular0 | | dmp_FragmentLightSource[4].specular0 | ||
| 0x00157E5C | | 0x00157E5C | ||
+ | | 0xA20+4*0x70+0x24 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x56 | | 0x56 | ||
Line 560: | Line 761: | ||
| dmp_FragmentLightSource[5].specular0 | | dmp_FragmentLightSource[5].specular0 | ||
| 0x00157E5C | | 0x00157E5C | ||
+ | | 0xA20+5*0x70+0x24 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x57 | | 0x57 | ||
Line 565: | Line 768: | ||
| dmp_FragmentLightSource[6].specular0 | | dmp_FragmentLightSource[6].specular0 | ||
| 0x00157E5C | | 0x00157E5C | ||
+ | | 0xA20+6*0x70+0x24 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x58 | | 0x58 | ||
Line 570: | Line 775: | ||
| dmp_FragmentLightSource[7].specular0 | | dmp_FragmentLightSource[7].specular0 | ||
| 0x00157E5C | | 0x00157E5C | ||
+ | | 0xA20+7*0x70+0x24 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x59 | | 0x59 | ||
Line 575: | Line 782: | ||
| dmp_FragmentLightSource[0].specular1 | | dmp_FragmentLightSource[0].specular1 | ||
| 0x001580B4 | | 0x001580B4 | ||
+ | | 0xA20+0*0x70+0x34 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x5A | | 0x5A | ||
Line 580: | Line 789: | ||
| dmp_FragmentLightSource[1].specular1 | | dmp_FragmentLightSource[1].specular1 | ||
| 0x001580B4 | | 0x001580B4 | ||
+ | | 0xA20+1*0x70+0x34 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x5B | | 0x5B | ||
Line 585: | Line 796: | ||
| dmp_FragmentLightSource[2].specular1 | | dmp_FragmentLightSource[2].specular1 | ||
| 0x001580B4 | | 0x001580B4 | ||
+ | | 0xA20+2*0x70+0x34 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x5C | | 0x5C | ||
Line 590: | Line 803: | ||
| dmp_FragmentLightSource[3].specular1 | | dmp_FragmentLightSource[3].specular1 | ||
| 0x001580B4 | | 0x001580B4 | ||
+ | | 0xA20+3*0x70+0x34 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x5D | | 0x5D | ||
Line 595: | Line 810: | ||
| dmp_FragmentLightSource[4].specular1 | | dmp_FragmentLightSource[4].specular1 | ||
| 0x001580B4 | | 0x001580B4 | ||
+ | | 0xA20+4*0x70+0x34 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x5E | | 0x5E | ||
Line 600: | Line 817: | ||
| dmp_FragmentLightSource[5].specular1 | | dmp_FragmentLightSource[5].specular1 | ||
| 0x001580B4 | | 0x001580B4 | ||
+ | | 0xA20+5*0x70+0x34 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x5F | | 0x5F | ||
Line 605: | Line 824: | ||
| dmp_FragmentLightSource[6].specular1 | | dmp_FragmentLightSource[6].specular1 | ||
| 0x001580B4 | | 0x001580B4 | ||
+ | | 0xA20+6*0x70+0x34 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x60 | | 0x60 | ||
Line 610: | Line 831: | ||
| dmp_FragmentLightSource[7].specular1 | | dmp_FragmentLightSource[7].specular1 | ||
| 0x001580B4 | | 0x001580B4 | ||
+ | | 0xA20+7*0x70+0x34 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x61 | | 0x61 | ||
Line 615: | Line 838: | ||
| dmp_FragmentLightSource[0].position | | dmp_FragmentLightSource[0].position | ||
| 0x001584B0 | | 0x001584B0 | ||
+ | | 0xA20+0*0x70+0x44 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x62 | | 0x62 | ||
Line 620: | Line 845: | ||
| dmp_FragmentLightSource[1].position | | dmp_FragmentLightSource[1].position | ||
| 0x001584B0 | | 0x001584B0 | ||
+ | | 0xA20+1*0x70+0x44 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x63 | | 0x63 | ||
Line 625: | Line 852: | ||
| dmp_FragmentLightSource[2].position | | dmp_FragmentLightSource[2].position | ||
| 0x001584B0 | | 0x001584B0 | ||
+ | | 0xA20+2*0x70+0x44 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x64 | | 0x64 | ||
Line 630: | Line 859: | ||
| dmp_FragmentLightSource[3].position | | dmp_FragmentLightSource[3].position | ||
| 0x001584B0 | | 0x001584B0 | ||
+ | | 0xA20+3*0x70+0x44 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x65 | | 0x65 | ||
Line 635: | Line 866: | ||
| dmp_FragmentLightSource[4].position | | dmp_FragmentLightSource[4].position | ||
| 0x001584B0 | | 0x001584B0 | ||
+ | | 0xA20+4*0x70+0x44 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x66 | | 0x66 | ||
Line 640: | Line 873: | ||
| dmp_FragmentLightSource[5].position | | dmp_FragmentLightSource[5].position | ||
| 0x001584B0 | | 0x001584B0 | ||
+ | | 0xA20+5*0x70+0x44 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x67 | | 0x67 | ||
Line 645: | Line 880: | ||
| dmp_FragmentLightSource[6].position | | dmp_FragmentLightSource[6].position | ||
| 0x001584B0 | | 0x001584B0 | ||
+ | | 0xA20+6*0x70+0x44 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x68 | | 0x68 | ||
Line 650: | Line 887: | ||
| dmp_FragmentLightSource[7].position | | dmp_FragmentLightSource[7].position | ||
| 0x001584B0 | | 0x001584B0 | ||
+ | | 0xA20+7*0x70+0x44 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x69 | | 0x69 | ||
Line 655: | Line 894: | ||
| dmp_FragmentLightSource[0].spotDirection | | dmp_FragmentLightSource[0].spotDirection | ||
| 0x001587E4 | | 0x001587E4 | ||
+ | | 0xA20+0*0x70+0x54 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x6A | | 0x6A | ||
Line 660: | Line 901: | ||
| dmp_FragmentLightSource[1].spotDirection | | dmp_FragmentLightSource[1].spotDirection | ||
| 0x001587E4 | | 0x001587E4 | ||
+ | | 0xA20+1*0x70+0x54 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x6B | | 0x6B | ||
Line 665: | Line 908: | ||
| dmp_FragmentLightSource[2].spotDirection | | dmp_FragmentLightSource[2].spotDirection | ||
| 0x001587E4 | | 0x001587E4 | ||
+ | | 0xA20+2*0x70+0x54 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x6C | | 0x6C | ||
Line 670: | Line 915: | ||
| dmp_FragmentLightSource[3].spotDirection | | dmp_FragmentLightSource[3].spotDirection | ||
| 0x001587E4 | | 0x001587E4 | ||
+ | | 0xA20+3*0x70+0x54 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x6D | | 0x6D | ||
Line 675: | Line 922: | ||
| dmp_FragmentLightSource[4].spotDirection | | dmp_FragmentLightSource[4].spotDirection | ||
| 0x001587E4 | | 0x001587E4 | ||
+ | | 0xA20+4*0x70+0x54 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x6E | | 0x6E | ||
Line 680: | Line 929: | ||
| dmp_FragmentLightSource[5].spotDirection | | dmp_FragmentLightSource[5].spotDirection | ||
| 0x001587E4 | | 0x001587E4 | ||
+ | | 0xA20+5*0x70+0x54 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x6F | | 0x6F | ||
Line 685: | Line 936: | ||
| dmp_FragmentLightSource[6].spotDirection | | dmp_FragmentLightSource[6].spotDirection | ||
| 0x001587E4 | | 0x001587E4 | ||
+ | | 0xA20+6*0x70+0x54 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x70 | | 0x70 | ||
Line 690: | Line 943: | ||
| dmp_FragmentLightSource[7].spotDirection | | dmp_FragmentLightSource[7].spotDirection | ||
| 0x001587E4 | | 0x001587E4 | ||
+ | | 0xA20+7*0x70+0x54 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x71 | | 0x71 | ||
Line 695: | Line 950: | ||
| dmp_FragmentLightSource[0].shadowed | | dmp_FragmentLightSource[0].shadowed | ||
| 0x0012C20C | | 0x0012C20C | ||
+ | | 0x7C0 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x72 | | 0x72 | ||
Line 700: | Line 957: | ||
| dmp_FragmentLightSource[1].shadowed | | dmp_FragmentLightSource[1].shadowed | ||
| 0x0012C20C | | 0x0012C20C | ||
+ | | 0x7C0 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x73 | | 0x73 | ||
Line 705: | Line 964: | ||
| dmp_FragmentLightSource[2].shadowed | | dmp_FragmentLightSource[2].shadowed | ||
| 0x0012C20C | | 0x0012C20C | ||
+ | | 0x7C0 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x74 | | 0x74 | ||
Line 710: | Line 971: | ||
| dmp_FragmentLightSource[3].shadowed | | dmp_FragmentLightSource[3].shadowed | ||
| 0x0012C20C | | 0x0012C20C | ||
+ | | 0x7C0 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x75 | | 0x75 | ||
Line 715: | Line 978: | ||
| dmp_FragmentLightSource[4].shadowed | | dmp_FragmentLightSource[4].shadowed | ||
| 0x0012C20C | | 0x0012C20C | ||
+ | | 0x7C0 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x76 | | 0x76 | ||
Line 720: | Line 985: | ||
| dmp_FragmentLightSource[5].shadowed | | dmp_FragmentLightSource[5].shadowed | ||
| 0x0012C20C | | 0x0012C20C | ||
+ | | 0x7C0 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x77 | | 0x77 | ||
Line 725: | Line 992: | ||
| dmp_FragmentLightSource[6].shadowed | | dmp_FragmentLightSource[6].shadowed | ||
| 0x0012C20C | | 0x0012C20C | ||
+ | | 0x7C0 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x78 | | 0x78 | ||
Line 730: | Line 999: | ||
| dmp_FragmentLightSource[7].shadowed | | dmp_FragmentLightSource[7].shadowed | ||
| 0x0012C20C | | 0x0012C20C | ||
+ | | 0x7C0 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x79 | | 0x79 | ||
Line 735: | Line 1,006: | ||
| dmp_FragmentLightSource[0].geomFactor0 | | dmp_FragmentLightSource[0].geomFactor0 | ||
| 0x0012C018 | | 0x0012C018 | ||
+ | | 0x7D8 | ||
+ | | 0x0149 bit2 | ||
|- | |- | ||
| 0x7A | | 0x7A | ||
Line 740: | Line 1,013: | ||
| dmp_FragmentLightSource[1].geomFactor0 | | dmp_FragmentLightSource[1].geomFactor0 | ||
| 0x0012C018 | | 0x0012C018 | ||
+ | | 0x7D8 | ||
+ | | 0x0159 bit2 | ||
|- | |- | ||
| 0x7B | | 0x7B | ||
Line 745: | Line 1,020: | ||
| dmp_FragmentLightSource[2].geomFactor0 | | dmp_FragmentLightSource[2].geomFactor0 | ||
| 0x0012C018 | | 0x0012C018 | ||
+ | | 0x7D8 | ||
+ | | 0x0169 bit2 | ||
|- | |- | ||
| 0x7C | | 0x7C | ||
Line 750: | Line 1,027: | ||
| dmp_FragmentLightSource[3].geomFactor0 | | dmp_FragmentLightSource[3].geomFactor0 | ||
| 0x0012C018 | | 0x0012C018 | ||
+ | | 0x7D8 | ||
+ | | 0x0179 bit2 | ||
|- | |- | ||
| 0x7D | | 0x7D | ||
Line 755: | Line 1,034: | ||
| dmp_FragmentLightSource[4].geomFactor0 | | dmp_FragmentLightSource[4].geomFactor0 | ||
| 0x0012C018 | | 0x0012C018 | ||
+ | | 0x7D8 | ||
+ | | 0x0189 bit2 | ||
|- | |- | ||
| 0x7E | | 0x7E | ||
Line 760: | Line 1,041: | ||
| dmp_FragmentLightSource[5].geomFactor0 | | dmp_FragmentLightSource[5].geomFactor0 | ||
| 0x0012C018 | | 0x0012C018 | ||
+ | | 0x7D8 | ||
+ | | 0x0199 bit2 | ||
|- | |- | ||
| 0x7F | | 0x7F | ||
Line 765: | Line 1,048: | ||
| dmp_FragmentLightSource[6].geomFactor0 | | dmp_FragmentLightSource[6].geomFactor0 | ||
| 0x0012C018 | | 0x0012C018 | ||
+ | | 0x7D8 | ||
+ | | 0x01A9 bit2 | ||
|- | |- | ||
| 0x80 | | 0x80 | ||
Line 770: | Line 1,055: | ||
| dmp_FragmentLightSource[7].geomFactor0 | | dmp_FragmentLightSource[7].geomFactor0 | ||
| 0x0012C018 | | 0x0012C018 | ||
+ | | 0x7D8 | ||
+ | | 0x01B9 bit2 | ||
|- | |- | ||
| 0x81 | | 0x81 | ||
Line 775: | Line 1,062: | ||
| dmp_FragmentLightSource[0].geomFactor1 | | dmp_FragmentLightSource[0].geomFactor1 | ||
| 0x0012C114 | | 0x0012C114 | ||
+ | | 0x7D8 | ||
+ | | 0x0149 bit3 | ||
|- | |- | ||
| 0x82 | | 0x82 | ||
Line 780: | Line 1,069: | ||
| dmp_FragmentLightSource[1].geomFactor1 | | dmp_FragmentLightSource[1].geomFactor1 | ||
| 0x0012C114 | | 0x0012C114 | ||
+ | | 0x7D8 | ||
+ | | 0x0159 bit3 | ||
|- | |- | ||
| 0x83 | | 0x83 | ||
Line 785: | Line 1,076: | ||
| dmp_FragmentLightSource[2].geomFactor1 | | dmp_FragmentLightSource[2].geomFactor1 | ||
| 0x0012C114 | | 0x0012C114 | ||
+ | | 0x7D8 | ||
+ | | 0x0169 bit3 | ||
|- | |- | ||
| 0x84 | | 0x84 | ||
Line 790: | Line 1,083: | ||
| dmp_FragmentLightSource[3].geomFactor1 | | dmp_FragmentLightSource[3].geomFactor1 | ||
| 0x0012C114 | | 0x0012C114 | ||
+ | | 0x7D8 | ||
+ | | 0x0179 bit3 | ||
|- | |- | ||
| 0x85 | | 0x85 | ||
Line 795: | Line 1,090: | ||
| dmp_FragmentLightSource[4].geomFactor1 | | dmp_FragmentLightSource[4].geomFactor1 | ||
| 0x0012C114 | | 0x0012C114 | ||
+ | | 0x7D8 | ||
+ | | 0x0189 bit3 | ||
|- | |- | ||
| 0x86 | | 0x86 | ||
Line 800: | Line 1,097: | ||
| dmp_FragmentLightSource[5].geomFactor1 | | dmp_FragmentLightSource[5].geomFactor1 | ||
| 0x0012C114 | | 0x0012C114 | ||
+ | | 0x7D8 | ||
+ | | 0x0199 bit3 | ||
|- | |- | ||
| 0x87 | | 0x87 | ||
Line 805: | Line 1,104: | ||
| dmp_FragmentLightSource[6].geomFactor1 | | dmp_FragmentLightSource[6].geomFactor1 | ||
| 0x0012C114 | | 0x0012C114 | ||
+ | | 0x7D8 | ||
+ | | 0x01A9 bit3 | ||
|- | |- | ||
| 0x88 | | 0x88 | ||
Line 810: | Line 1,111: | ||
| dmp_FragmentLightSource[7].geomFactor1 | | dmp_FragmentLightSource[7].geomFactor1 | ||
| 0x0012C114 | | 0x0012C114 | ||
+ | | 0x7D8 | ||
+ | | 0x01B9 bit3 | ||
|- | |- | ||
| 0x89 | | 0x89 | ||
Line 815: | Line 1,118: | ||
| dmp_FragmentLightSource[0].twoSideDiffuse | | dmp_FragmentLightSource[0].twoSideDiffuse | ||
| 0x0012BF10 | | 0x0012BF10 | ||
+ | | 0x7D8 | ||
+ | | 0x0149 bit1 | ||
|- | |- | ||
| 0x8A | | 0x8A | ||
Line 820: | Line 1,125: | ||
| dmp_FragmentLightSource[1].twoSideDiffuse | | dmp_FragmentLightSource[1].twoSideDiffuse | ||
| 0x0012BF10 | | 0x0012BF10 | ||
+ | | 0x7D8 | ||
+ | | 0x0159 bit1 | ||
|- | |- | ||
| 0x8B | | 0x8B | ||
Line 825: | Line 1,132: | ||
| dmp_FragmentLightSource[2].twoSideDiffuse | | dmp_FragmentLightSource[2].twoSideDiffuse | ||
| 0x0012BF10 | | 0x0012BF10 | ||
+ | | 0x7D8 | ||
+ | | 0x0169 bit1 | ||
|- | |- | ||
| 0x8C | | 0x8C | ||
Line 830: | Line 1,139: | ||
| dmp_FragmentLightSource[3].twoSideDiffuse | | dmp_FragmentLightSource[3].twoSideDiffuse | ||
| 0x0012BF10 | | 0x0012BF10 | ||
+ | | 0x7D8 | ||
+ | | 0x0179 bit1 | ||
|- | |- | ||
| 0x8D | | 0x8D | ||
Line 835: | Line 1,146: | ||
| dmp_FragmentLightSource[4].twoSideDiffuse | | dmp_FragmentLightSource[4].twoSideDiffuse | ||
| 0x0012BF10 | | 0x0012BF10 | ||
+ | | 0x7D8 | ||
+ | | 0x0189 bit1 | ||
|- | |- | ||
| 0x8E | | 0x8E | ||
Line 840: | Line 1,153: | ||
| dmp_FragmentLightSource[5].twoSideDiffuse | | dmp_FragmentLightSource[5].twoSideDiffuse | ||
| 0x0012BF10 | | 0x0012BF10 | ||
+ | | 0x7D8 | ||
+ | | 0x0199 bit1 | ||
|- | |- | ||
| 0x8F | | 0x8F | ||
Line 845: | Line 1,160: | ||
| dmp_FragmentLightSource[6].twoSideDiffuse | | dmp_FragmentLightSource[6].twoSideDiffuse | ||
| 0x0012BF10 | | 0x0012BF10 | ||
+ | | 0x7D8 | ||
+ | | 0x01A9 bit1 | ||
|- | |- | ||
| 0x90 | | 0x90 | ||
Line 850: | Line 1,167: | ||
| dmp_FragmentLightSource[7].twoSideDiffuse | | dmp_FragmentLightSource[7].twoSideDiffuse | ||
| 0x0012BF10 | | 0x0012BF10 | ||
+ | | 0x7D8 | ||
+ | | 0x01B9 bit1 | ||
|- | |- | ||
| 0x91 | | 0x91 | ||
Line 855: | Line 1,174: | ||
| dmp_FragmentLightSource[0].samplerSP | | dmp_FragmentLightSource[0].samplerSP | ||
| 0x0012C31C | | 0x0012C31C | ||
+ | | 0xA20+0*0x70+0x60 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x92 | | 0x92 | ||
Line 860: | Line 1,181: | ||
| dmp_FragmentLightSource[1].samplerSP | | dmp_FragmentLightSource[1].samplerSP | ||
| 0x0012C31C | | 0x0012C31C | ||
+ | | 0xA20+1*0x70+0x60 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x93 | | 0x93 | ||
Line 865: | Line 1,188: | ||
| dmp_FragmentLightSource[2].samplerSP | | dmp_FragmentLightSource[2].samplerSP | ||
| 0x0012C31C | | 0x0012C31C | ||
+ | | 0xA20+2*0x70+0x60 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x94 | | 0x94 | ||
Line 870: | Line 1,195: | ||
| dmp_FragmentLightSource[3].samplerSP | | dmp_FragmentLightSource[3].samplerSP | ||
| 0x0012C31C | | 0x0012C31C | ||
+ | | 0xA20+3*0x70+0x60 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x95 | | 0x95 | ||
Line 875: | Line 1,202: | ||
| dmp_FragmentLightSource[4].samplerSP | | dmp_FragmentLightSource[4].samplerSP | ||
| 0x0012C31C | | 0x0012C31C | ||
+ | | 0xA20+4*0x70+0x60 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x96 | | 0x96 | ||
Line 880: | Line 1,209: | ||
| dmp_FragmentLightSource[5].samplerSP | | dmp_FragmentLightSource[5].samplerSP | ||
| 0x0012C31C | | 0x0012C31C | ||
+ | | 0xA20+5*0x70+0x60 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x97 | | 0x97 | ||
Line 885: | Line 1,216: | ||
| dmp_FragmentLightSource[6].samplerSP | | dmp_FragmentLightSource[6].samplerSP | ||
| 0x0012C31C | | 0x0012C31C | ||
+ | | 0xA20+6*0x70+0x60 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x98 | | 0x98 | ||
Line 890: | Line 1,223: | ||
| dmp_FragmentLightSource[7].samplerSP | | dmp_FragmentLightSource[7].samplerSP | ||
| 0x0012C31C | | 0x0012C31C | ||
+ | | 0xA20+7*0x70+0x60 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x99 | | 0x99 | ||
Line 895: | Line 1,230: | ||
| dmp_FragmentLightSource[0].spotEnabled | | dmp_FragmentLightSource[0].spotEnabled | ||
| 0x0012C380 | | 0x0012C380 | ||
+ | | ? | ||
+ | | 0x01C4 bit3 (1 = disable?) | ||
|- | |- | ||
| 0x9A | | 0x9A | ||
Line 900: | Line 1,237: | ||
| dmp_FragmentLightSource[1].spotEnabled | | dmp_FragmentLightSource[1].spotEnabled | ||
| 0x0012C380 | | 0x0012C380 | ||
+ | | ? | ||
+ | | 0x01C4 bit4 (1 = disable?) | ||
|- | |- | ||
| 0x9B | | 0x9B | ||
Line 905: | Line 1,244: | ||
| dmp_FragmentLightSource[2].spotEnabled | | dmp_FragmentLightSource[2].spotEnabled | ||
| 0x0012C380 | | 0x0012C380 | ||
+ | | ? | ||
+ | | 0x01C4 bit5 (1 = disable?) | ||
|- | |- | ||
| 0x9C | | 0x9C | ||
Line 910: | Line 1,251: | ||
| dmp_FragmentLightSource[3].spotEnabled | | dmp_FragmentLightSource[3].spotEnabled | ||
| 0x0012C380 | | 0x0012C380 | ||
+ | | ? | ||
+ | | 0x01C4 bit6 (1 = disable?) | ||
|- | |- | ||
| 0x9D | | 0x9D | ||
Line 915: | Line 1,258: | ||
| dmp_FragmentLightSource[4].spotEnabled | | dmp_FragmentLightSource[4].spotEnabled | ||
| 0x0012C380 | | 0x0012C380 | ||
+ | | ? | ||
+ | | 0x01C4 bit7 (1 = disable?) | ||
|- | |- | ||
| 0x9E | | 0x9E | ||
Line 920: | Line 1,265: | ||
| dmp_FragmentLightSource[5].spotEnabled | | dmp_FragmentLightSource[5].spotEnabled | ||
| 0x0012C380 | | 0x0012C380 | ||
+ | | ? | ||
+ | | 0x01C4 bit8 (1 = disable?) | ||
|- | |- | ||
| 0x9F | | 0x9F | ||
Line 925: | Line 1,272: | ||
| dmp_FragmentLightSource[6].spotEnabled | | dmp_FragmentLightSource[6].spotEnabled | ||
| 0x0012C380 | | 0x0012C380 | ||
+ | | ? | ||
+ | | 0x01C4 bit9 (1 = disable?) | ||
|- | |- | ||
| 0xA0 | | 0xA0 | ||
Line 930: | Line 1,279: | ||
| dmp_FragmentLightSource[7].spotEnabled | | dmp_FragmentLightSource[7].spotEnabled | ||
| 0x0012C380 | | 0x0012C380 | ||
+ | | ? | ||
+ | | 0x01C4 bit10 (1 = disable?) | ||
|- | |- | ||
| 0xA1 | | 0xA1 | ||
Line 935: | Line 1,286: | ||
| dmp_FragmentLightSource[0].distanceAttenuationBias | | dmp_FragmentLightSource[0].distanceAttenuationBias | ||
| 0x00158AE8 | | 0x00158AE8 | ||
+ | | 0xA20+0*0x70+0x64 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xA2 | | 0xA2 | ||
Line 940: | Line 1,293: | ||
| dmp_FragmentLightSource[1].distanceAttenuationBias | | dmp_FragmentLightSource[1].distanceAttenuationBias | ||
| 0x00158AE8 | | 0x00158AE8 | ||
+ | | 0xA20+1*0x70+0x64 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xA3 | | 0xA3 | ||
Line 945: | Line 1,300: | ||
| dmp_FragmentLightSource[2].distanceAttenuationBias | | dmp_FragmentLightSource[2].distanceAttenuationBias | ||
| 0x00158AE8 | | 0x00158AE8 | ||
+ | | 0xA20+2*0x70+0x64 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xA4 | | 0xA4 | ||
Line 950: | Line 1,307: | ||
| dmp_FragmentLightSource[3].distanceAttenuationBias | | dmp_FragmentLightSource[3].distanceAttenuationBias | ||
| 0x00158AE8 | | 0x00158AE8 | ||
+ | | 0xA20+3*0x70+0x64 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xA5 | | 0xA5 | ||
Line 955: | Line 1,314: | ||
| dmp_FragmentLightSource[4].distanceAttenuationBias | | dmp_FragmentLightSource[4].distanceAttenuationBias | ||
| 0x00158AE8 | | 0x00158AE8 | ||
+ | | 0xA20+4*0x70+0x64 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xA6 | | 0xA6 | ||
Line 960: | Line 1,321: | ||
| dmp_FragmentLightSource[5].distanceAttenuationBias | | dmp_FragmentLightSource[5].distanceAttenuationBias | ||
| 0x00158AE8 | | 0x00158AE8 | ||
+ | | 0xA20+5*0x70+0x64 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xA7 | | 0xA7 | ||
Line 965: | Line 1,328: | ||
| dmp_FragmentLightSource[6].distanceAttenuationBias | | dmp_FragmentLightSource[6].distanceAttenuationBias | ||
| 0x00158AE8 | | 0x00158AE8 | ||
+ | | 0xA20+6*0x70+0x64 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xA8 | | 0xA8 | ||
Line 970: | Line 1,335: | ||
| dmp_FragmentLightSource[7].distanceAttenuationBias | | dmp_FragmentLightSource[7].distanceAttenuationBias | ||
| 0x00158AE8 | | 0x00158AE8 | ||
+ | | 0xA20+7*0x70+0x64 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xA9 | | 0xA9 | ||
Line 975: | Line 1,342: | ||
| dmp_FragmentLightSource[0].distanceAttenuationScale | | dmp_FragmentLightSource[0].distanceAttenuationScale | ||
| 0x00158C44 | | 0x00158C44 | ||
+ | | 0xA20+0*0x70+0x68 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xAA | | 0xAA | ||
Line 980: | Line 1,349: | ||
| dmp_FragmentLightSource[1].distanceAttenuationScale | | dmp_FragmentLightSource[1].distanceAttenuationScale | ||
| 0x00158C44 | | 0x00158C44 | ||
+ | | 0xA20+1*0x70+0x68 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xAB | | 0xAB | ||
Line 985: | Line 1,356: | ||
| dmp_FragmentLightSource[2].distanceAttenuationScale | | dmp_FragmentLightSource[2].distanceAttenuationScale | ||
| 0x00158C44 | | 0x00158C44 | ||
+ | | 0xA20+2*0x70+0x68 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xAC | | 0xAC | ||
Line 990: | Line 1,363: | ||
| dmp_FragmentLightSource[3].distanceAttenuationScale | | dmp_FragmentLightSource[3].distanceAttenuationScale | ||
| 0x00158C44 | | 0x00158C44 | ||
+ | | 0xA20+3*0x70+0x68 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xAD | | 0xAD | ||
Line 995: | Line 1,370: | ||
| dmp_FragmentLightSource[4].distanceAttenuationScale | | dmp_FragmentLightSource[4].distanceAttenuationScale | ||
| 0x00158C44 | | 0x00158C44 | ||
+ | | 0xA20+4*0x70+0x68 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xAE | | 0xAE | ||
Line 1,000: | Line 1,377: | ||
| dmp_FragmentLightSource[5].distanceAttenuationScale | | dmp_FragmentLightSource[5].distanceAttenuationScale | ||
| 0x00158C44 | | 0x00158C44 | ||
+ | | 0xA20+5*0x70+0x68 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xAF | | 0xAF | ||
Line 1,005: | Line 1,384: | ||
| dmp_FragmentLightSource[6].distanceAttenuationScale | | dmp_FragmentLightSource[6].distanceAttenuationScale | ||
| 0x00158C44 | | 0x00158C44 | ||
+ | | 0xA20+6*0x70+0x68 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xB0 | | 0xB0 | ||
Line 1,010: | Line 1,391: | ||
| dmp_FragmentLightSource[7].distanceAttenuationScale | | dmp_FragmentLightSource[7].distanceAttenuationScale | ||
| 0x00158C44 | | 0x00158C44 | ||
+ | | 0xA20+7*0x70+0x68 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xB1 | | 0xB1 | ||
Line 1,015: | Line 1,398: | ||
| dmp_FragmentLightSource[0].distanceAttenuationEnabled | | dmp_FragmentLightSource[0].distanceAttenuationEnabled | ||
| 0x0012C4A0 | | 0x0012C4A0 | ||
+ | | ? | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xB2 | | 0xB2 | ||
Line 1,020: | Line 1,405: | ||
| dmp_FragmentLightSource[1].distanceAttenuationEnabled | | dmp_FragmentLightSource[1].distanceAttenuationEnabled | ||
| 0x0012C4A0 | | 0x0012C4A0 | ||
+ | | ? | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xB3 | | 0xB3 | ||
Line 1,025: | Line 1,412: | ||
| dmp_FragmentLightSource[2].distanceAttenuationEnabled | | dmp_FragmentLightSource[2].distanceAttenuationEnabled | ||
| 0x0012C4A0 | | 0x0012C4A0 | ||
+ | | ? | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xB4 | | 0xB4 | ||
Line 1,030: | Line 1,419: | ||
| dmp_FragmentLightSource[3].distanceAttenuationEnabled | | dmp_FragmentLightSource[3].distanceAttenuationEnabled | ||
| 0x0012C4A0 | | 0x0012C4A0 | ||
+ | | ? | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xB5 | | 0xB5 | ||
Line 1,035: | Line 1,426: | ||
| dmp_FragmentLightSource[4].distanceAttenuationEnabled | | dmp_FragmentLightSource[4].distanceAttenuationEnabled | ||
| 0x0012C4A0 | | 0x0012C4A0 | ||
+ | | ? | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xB6 | | 0xB6 | ||
Line 1,040: | Line 1,433: | ||
| dmp_FragmentLightSource[5].distanceAttenuationEnabled | | dmp_FragmentLightSource[5].distanceAttenuationEnabled | ||
| 0x0012C4A0 | | 0x0012C4A0 | ||
+ | | ? | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xB7 | | 0xB7 | ||
Line 1,045: | Line 1,440: | ||
| dmp_FragmentLightSource[6].distanceAttenuationEnabled | | dmp_FragmentLightSource[6].distanceAttenuationEnabled | ||
| 0x0012C4A0 | | 0x0012C4A0 | ||
+ | | ? | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xB8 | | 0xB8 | ||
Line 1,050: | Line 1,447: | ||
| dmp_FragmentLightSource[7].distanceAttenuationEnabled | | dmp_FragmentLightSource[7].distanceAttenuationEnabled | ||
| 0x0012C4A0 | | 0x0012C4A0 | ||
+ | | ? | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xB9 | | 0xB9 | ||
Line 1,055: | Line 1,454: | ||
| dmp_FragmentLightSource[0].samplerDA | | dmp_FragmentLightSource[0].samplerDA | ||
| 0x0012C578 | | 0x0012C578 | ||
+ | | 0xA20+0*0x70+0x6C | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xBA | | 0xBA | ||
Line 1,060: | Line 1,461: | ||
| dmp_FragmentLightSource[1].samplerDA | | dmp_FragmentLightSource[1].samplerDA | ||
| 0x0012C578 | | 0x0012C578 | ||
+ | | 0xA20+1*0x70+0x6C | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xBB | | 0xBB | ||
Line 1,065: | Line 1,468: | ||
| dmp_FragmentLightSource[2].samplerDA | | dmp_FragmentLightSource[2].samplerDA | ||
| 0x0012C578 | | 0x0012C578 | ||
+ | | 0xA20+2*0x70+0x6C | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xBC | | 0xBC | ||
Line 1,070: | Line 1,475: | ||
| dmp_FragmentLightSource[3].samplerDA | | dmp_FragmentLightSource[3].samplerDA | ||
| 0x0012C578 | | 0x0012C578 | ||
+ | | 0xA20+3*0x70+0x6C | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xBD | | 0xBD | ||
Line 1,075: | Line 1,482: | ||
| dmp_FragmentLightSource[4].samplerDA | | dmp_FragmentLightSource[4].samplerDA | ||
| 0x0012C578 | | 0x0012C578 | ||
+ | | 0xA20+4*0x70+0x6C | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xBE | | 0xBE | ||
Line 1,080: | Line 1,489: | ||
| dmp_FragmentLightSource[5].samplerDA | | dmp_FragmentLightSource[5].samplerDA | ||
| 0x0012C578 | | 0x0012C578 | ||
+ | | 0xA20+5*0x70+0x6C | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xBF | | 0xBF | ||
Line 1,085: | Line 1,496: | ||
| dmp_FragmentLightSource[6].samplerDA | | dmp_FragmentLightSource[6].samplerDA | ||
| 0x0012C578 | | 0x0012C578 | ||
+ | | 0xA20+6*0x70+0x6C | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xC0 | | 0xC0 | ||
Line 1,090: | Line 1,503: | ||
| dmp_FragmentLightSource[7].samplerDA | | dmp_FragmentLightSource[7].samplerDA | ||
| 0x0012C578 | | 0x0012C578 | ||
+ | | 0xA20+7*0x70+0x6C | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xC1 | | 0xC1 | ||
Line 1,095: | Line 1,510: | ||
| dmp_LightEnv.absLutInputD0 | | dmp_LightEnv.absLutInputD0 | ||
| 0x0012C5D8 | | 0x0012C5D8 | ||
+ | | ? | ||
+ | | 0x01D0 bit12 (1 = disable?) | ||
|- | |- | ||
| 0xC2 | | 0xC2 | ||
Line 1,100: | Line 1,517: | ||
| dmp_LightEnv.absLutInputD1 | | dmp_LightEnv.absLutInputD1 | ||
| 0x0012C5D8 | | 0x0012C5D8 | ||
+ | | ? | ||
+ | | 0x01D0 bit13 (1 = disable?) | ||
|- | |- | ||
| 0xC3 | | 0xC3 | ||
Line 1,105: | Line 1,524: | ||
| dmp_LightEnv.absLutInputSP | | dmp_LightEnv.absLutInputSP | ||
| 0x0012C5D8 | | 0x0012C5D8 | ||
+ | | ? | ||
+ | | 0x01D0 bit14 (1 = disable?) | ||
|- | |- | ||
| 0xC4 | | 0xC4 | ||
Line 1,110: | Line 1,531: | ||
| dmp_LightEnv.absLutInputFR | | dmp_LightEnv.absLutInputFR | ||
| 0x0012C5D8 | | 0x0012C5D8 | ||
+ | | ? | ||
+ | | 0x01D0 bit15 (1 = disable?) | ||
|- | |- | ||
| 0xC5 | | 0xC5 | ||
Line 1,115: | Line 1,538: | ||
| dmp_LightEnv.absLutInputRB | | dmp_LightEnv.absLutInputRB | ||
| 0x0012C5D8 | | 0x0012C5D8 | ||
+ | | ? | ||
+ | | 0x01D0 bit16 (1 = disable?) | ||
|- | |- | ||
| 0xC6 | | 0xC6 | ||
Line 1,120: | Line 1,545: | ||
| dmp_LightEnv.absLutInputRG | | dmp_LightEnv.absLutInputRG | ||
| 0x0012C5D8 | | 0x0012C5D8 | ||
+ | | ? | ||
+ | | 0x01D0 bit17 (1 = disable?) | ||
|- | |- | ||
| 0xC7 | | 0xC7 | ||
Line 1,125: | Line 1,552: | ||
| dmp_LightEnv.absLutInputRR | | dmp_LightEnv.absLutInputRR | ||
| 0x0012C5D8 | | 0x0012C5D8 | ||
+ | | ? | ||
+ | | 0x01D0 bit18 (1 = disable?) | ||
|- | |- | ||
| 0xC8 | | 0xC8 | ||
Line 1,130: | Line 1,559: | ||
| dmp_LightEnv.lutInputD0 | | dmp_LightEnv.lutInputD0 | ||
| 0x0012C6E8 | | 0x0012C6E8 | ||
+ | | ? | ||
+ | | 0x01D1 bit0-2 | ||
|- | |- | ||
| 0xC9 | | 0xC9 | ||
Line 1,135: | Line 1,566: | ||
| dmp_LightEnv.lutInputD1 | | dmp_LightEnv.lutInputD1 | ||
| 0x0012C6E8 | | 0x0012C6E8 | ||
+ | | ? | ||
+ | | 0x01D1 bit4-6 | ||
|- | |- | ||
| 0xCA | | 0xCA | ||
Line 1,140: | Line 1,573: | ||
| dmp_LightEnv.lutInputSP | | dmp_LightEnv.lutInputSP | ||
| 0x0012C6E8 | | 0x0012C6E8 | ||
+ | | ? | ||
+ | | 0x01D1 bit8-10 | ||
|- | |- | ||
| 0xCB | | 0xCB | ||
Line 1,145: | Line 1,580: | ||
| dmp_LightEnv.lutInputFR | | dmp_LightEnv.lutInputFR | ||
| 0x0012C6E8 | | 0x0012C6E8 | ||
+ | | ? | ||
+ | | 0x01D1 bit12-14 | ||
|- | |- | ||
| 0xCC | | 0xCC | ||
Line 1,150: | Line 1,587: | ||
| dmp_LightEnv.lutInputRB | | dmp_LightEnv.lutInputRB | ||
| 0x0012C6E8 | | 0x0012C6E8 | ||
+ | | ? | ||
+ | | 0x01D1 bit16-18 | ||
|- | |- | ||
| 0xCD | | 0xCD | ||
Line 1,155: | Line 1,594: | ||
| dmp_LightEnv.lutInputRG | | dmp_LightEnv.lutInputRG | ||
| 0x0012C6E8 | | 0x0012C6E8 | ||
+ | | ? | ||
+ | | 0x01D1 bit20-22 | ||
|- | |- | ||
| 0xCE | | 0xCE | ||
Line 1,160: | Line 1,601: | ||
| dmp_LightEnv.lutInputRR | | dmp_LightEnv.lutInputRR | ||
| 0x0012C6E8 | | 0x0012C6E8 | ||
+ | | ? | ||
+ | | 0x01D1 bit24-26 | ||
|- | |- | ||
| 0xCF | | 0xCF | ||
Line 1,165: | Line 1,608: | ||
| dmp_LightEnv.lutScaleD0 | | dmp_LightEnv.lutScaleD0 | ||
| 0x00155404 | | 0x00155404 | ||
+ | | ? | ||
+ | | 0x01D2 bit0-3 | ||
|- | |- | ||
| 0xD0 | | 0xD0 | ||
Line 1,170: | Line 1,615: | ||
| dmp_LightEnv.lutScaleD1 | | dmp_LightEnv.lutScaleD1 | ||
| 0x00155404 | | 0x00155404 | ||
+ | | ? | ||
+ | | 0x01D2 bit4-7 | ||
|- | |- | ||
| 0xD1 | | 0xD1 | ||
Line 1,175: | Line 1,622: | ||
| dmp_LightEnv.lutScaleSP | | dmp_LightEnv.lutScaleSP | ||
| 0x00155404 | | 0x00155404 | ||
+ | | ? | ||
+ | | 0x01D2 bit8-11 | ||
|- | |- | ||
| 0xD2 | | 0xD2 | ||
Line 1,180: | Line 1,629: | ||
| dmp_LightEnv.lutScaleFR | | dmp_LightEnv.lutScaleFR | ||
| 0x00155404 | | 0x00155404 | ||
+ | | ? | ||
+ | | 0x01D2 bit12-15 | ||
|- | |- | ||
| 0xD3 | | 0xD3 | ||
Line 1,185: | Line 1,636: | ||
| dmp_LightEnv.lutScaleRB | | dmp_LightEnv.lutScaleRB | ||
| 0x00155404 | | 0x00155404 | ||
+ | | ? | ||
+ | |0x01D2 bit16-19 | ||
|- | |- | ||
| 0xD4 | | 0xD4 | ||
Line 1,190: | Line 1,643: | ||
| dmp_LightEnv.lutScaleRG | | dmp_LightEnv.lutScaleRG | ||
| 0x00155404 | | 0x00155404 | ||
+ | | ? | ||
+ | | 0x01D2 bit20-23 | ||
|- | |- | ||
| 0xD5 | | 0xD5 | ||
Line 1,195: | Line 1,650: | ||
| dmp_LightEnv.lutScaleRR | | dmp_LightEnv.lutScaleRR | ||
| 0x00155404 | | 0x00155404 | ||
+ | | ? | ||
+ | | 0x01D2 bit24-27 | ||
|- | |- | ||
| 0xD6 | | 0xD6 | ||
Line 1,200: | Line 1,657: | ||
| dmp_FragmentMaterial.samplerD0 | | dmp_FragmentMaterial.samplerD0 | ||
| 0x0012C7D0 | | 0x0012C7D0 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0xD7 | | 0xD7 | ||
Line 1,205: | Line 1,664: | ||
| dmp_FragmentMaterial.samplerD1 | | dmp_FragmentMaterial.samplerD1 | ||
| 0x0012C7D0 | | 0x0012C7D0 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0xD8 | | 0xD8 | ||
Line 1,210: | Line 1,671: | ||
| dmp_FragmentMaterial.samplerFR | | dmp_FragmentMaterial.samplerFR | ||
| 0x0012C7D0 | | 0x0012C7D0 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0xD9 | | 0xD9 | ||
Line 1,215: | Line 1,678: | ||
| dmp_FragmentMaterial.samplerRB | | dmp_FragmentMaterial.samplerRB | ||
| 0x0012C7D0 | | 0x0012C7D0 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0xDA | | 0xDA | ||
Line 1,220: | Line 1,685: | ||
| dmp_FragmentMaterial.samplerRG | | dmp_FragmentMaterial.samplerRG | ||
| 0x0012C7D0 | | 0x0012C7D0 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0xDB | | 0xDB | ||
Line 1,225: | Line 1,692: | ||
| dmp_FragmentMaterial.samplerRR | | dmp_FragmentMaterial.samplerRR | ||
| 0x0012C7D0 | | 0x0012C7D0 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0xDC | | 0xDC | ||
Line 1,230: | Line 1,699: | ||
| dmp_LightEnv.shadowSelector | | dmp_LightEnv.shadowSelector | ||
| 0x0012CE44 | | 0x0012CE44 | ||
+ | | ? | ||
+ | | 0x01C3 bit24-25 | ||
|- | |- | ||
| 0xDD | | 0xDD | ||
Line 1,235: | Line 1,706: | ||
| dmp_LightEnv.bumpSelector | | dmp_LightEnv.bumpSelector | ||
| 0x0012CD88 | | 0x0012CD88 | ||
+ | | ? | ||
+ | | 0x01C3 bit22-23 | ||
|- | |- | ||
| 0xDE | | 0xDE | ||
Line 1,240: | Line 1,713: | ||
| dmp_LightEnv.bumpMode | | dmp_LightEnv.bumpMode | ||
| 0x0012D4B4 | | 0x0012D4B4 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0xDF | | 0xDF | ||
Line 1,245: | Line 1,720: | ||
| dmp_LightEnv.bumpRenorm | | dmp_LightEnv.bumpRenorm | ||
| 0x0012D8A0 | | 0x0012D8A0 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0xE0 | | 0xE0 | ||
Line 1,250: | Line 1,727: | ||
| dmp_LightEnv.config | | dmp_LightEnv.config | ||
| 0x0012D5E4 | | 0x0012D5E4 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0xE1 | | 0xE1 | ||
Line 1,255: | Line 1,734: | ||
| dmp_LightEnv.invertShadow | | dmp_LightEnv.invertShadow | ||
| 0x0012CF04 | | 0x0012CF04 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0xE2 | | 0xE2 | ||
Line 1,260: | Line 1,741: | ||
| dmp_LightEnv.shadowPrimary | | dmp_LightEnv.shadowPrimary | ||
| 0x0012CFD4 | | 0x0012CFD4 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0xE3 | | 0xE3 | ||
Line 1,265: | Line 1,748: | ||
| dmp_LightEnv.shadowSecondary | | dmp_LightEnv.shadowSecondary | ||
| 0x0012D1B8 | | 0x0012D1B8 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0xE4 | | 0xE4 | ||
Line 1,270: | Line 1,755: | ||
| dmp_LightEnv.shadowAlpha | | dmp_LightEnv.shadowAlpha | ||
| 0x0012D350 | | 0x0012D350 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0xE5 | | 0xE5 | ||
Line 1,275: | Line 1,762: | ||
| dmp_LightEnv.fresnelSelector | | dmp_LightEnv.fresnelSelector | ||
| 0x0012D720 | | 0x0012D720 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0xE6 | | 0xE6 | ||
Line 1,280: | Line 1,769: | ||
| dmp_LightEnv.clampHighlights | | dmp_LightEnv.clampHighlights | ||
| 0x0012D9B0 | | 0x0012D9B0 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0xE7 | | 0xE7 | ||
Line 1,285: | Line 1,776: | ||
| dmp_LightEnv.lutEnabledD0 | | dmp_LightEnv.lutEnabledD0 | ||
| 0x0012DA80 | | 0x0012DA80 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0xE8 | | 0xE8 | ||
Line 1,290: | Line 1,783: | ||
| dmp_LightEnv.lutEnabledD1 | | dmp_LightEnv.lutEnabledD1 | ||
| 0x0012DB58 | | 0x0012DB58 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0xE9 | | 0xE9 | ||
Line 1,295: | Line 1,790: | ||
| dmp_LightEnv.lutEnabledRefl | | dmp_LightEnv.lutEnabledRefl | ||
| 0x0012C83C | | 0x0012C83C | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0xEA | | 0xEA | ||
Line 1,300: | Line 1,797: | ||
| dmp_TexEnv[0].combineRgb | | dmp_TexEnv[0].combineRgb | ||
| 0x0012DC2C | | 0x0012DC2C | ||
+ | | ? | ||
+ | | 0xC2 | ||
|- | |- | ||
| 0xEB | | 0xEB | ||
Line 1,305: | Line 1,804: | ||
| dmp_TexEnv[1].combineRgb | | dmp_TexEnv[1].combineRgb | ||
| 0x0012DC2C | | 0x0012DC2C | ||
+ | | ? | ||
+ | | 0xCA | ||
|- | |- | ||
| 0xEC | | 0xEC | ||
Line 1,310: | Line 1,811: | ||
| dmp_TexEnv[2].combineRgb | | dmp_TexEnv[2].combineRgb | ||
| 0x0012DC2C | | 0x0012DC2C | ||
+ | | ? | ||
+ | | 0xD2 | ||
|- | |- | ||
| 0xED | | 0xED | ||
Line 1,315: | Line 1,818: | ||
| dmp_TexEnv[3].combineRgb | | dmp_TexEnv[3].combineRgb | ||
| 0x0012DC2C | | 0x0012DC2C | ||
+ | | ? | ||
+ | | 0xDA | ||
|- | |- | ||
| 0xEE | | 0xEE | ||
Line 1,320: | Line 1,825: | ||
| dmp_TexEnv[4].combineRgb | | dmp_TexEnv[4].combineRgb | ||
| 0x0012DC2C | | 0x0012DC2C | ||
+ | | ? | ||
+ | | 0xF2 | ||
|- | |- | ||
| 0xEF | | 0xEF | ||
Line 1,325: | Line 1,832: | ||
| dmp_TexEnv[5].combineRgb | | dmp_TexEnv[5].combineRgb | ||
| 0x0012DC2C | | 0x0012DC2C | ||
+ | | ? | ||
+ | | 0xFA | ||
|- | |- | ||
| 0xF0 | | 0xF0 | ||
Line 1,330: | Line 1,839: | ||
| dmp_TexEnv[0].combineAlpha | | dmp_TexEnv[0].combineAlpha | ||
| 0x0012DD9C | | 0x0012DD9C | ||
+ | | ? | ||
+ | | 0xC2 | ||
|- | |- | ||
| 0xF1 | | 0xF1 | ||
Line 1,335: | Line 1,846: | ||
| dmp_TexEnv[1].combineAlpha | | dmp_TexEnv[1].combineAlpha | ||
| 0x0012DD9C | | 0x0012DD9C | ||
+ | | ? | ||
+ | | 0xCA | ||
|- | |- | ||
| 0xF2 | | 0xF2 | ||
Line 1,340: | Line 1,853: | ||
| dmp_TexEnv[2].combineAlpha | | dmp_TexEnv[2].combineAlpha | ||
| 0x0012DD9C | | 0x0012DD9C | ||
+ | | ? | ||
+ | | 0xD2 | ||
|- | |- | ||
| 0xF3 | | 0xF3 | ||
Line 1,345: | Line 1,860: | ||
| dmp_TexEnv[3].combineAlpha | | dmp_TexEnv[3].combineAlpha | ||
| 0x0012DD9C | | 0x0012DD9C | ||
+ | | ? | ||
+ | | 0xDA | ||
|- | |- | ||
| 0xF4 | | 0xF4 | ||
Line 1,350: | Line 1,867: | ||
| dmp_TexEnv[4].combineAlpha | | dmp_TexEnv[4].combineAlpha | ||
| 0x0012DD9C | | 0x0012DD9C | ||
+ | | ? | ||
+ | | 0xF2 | ||
|- | |- | ||
| 0xF5 | | 0xF5 | ||
Line 1,355: | Line 1,874: | ||
| dmp_TexEnv[5].combineAlpha | | dmp_TexEnv[5].combineAlpha | ||
| 0x0012DD9C | | 0x0012DD9C | ||
+ | | ? | ||
+ | | 0xFA | ||
|- | |- | ||
| 0xF6 | | 0xF6 | ||
Line 1,360: | Line 1,881: | ||
| dmp_TexEnv[0].srcRgb | | dmp_TexEnv[0].srcRgb | ||
| 0x0012DF08 | | 0x0012DF08 | ||
+ | | ? | ||
+ | | 0xC0 | ||
|- | |- | ||
| 0xF7 | | 0xF7 | ||
Line 1,365: | Line 1,888: | ||
| dmp_TexEnv[1].srcRgb | | dmp_TexEnv[1].srcRgb | ||
| 0x0012DF08 | | 0x0012DF08 | ||
+ | | ? | ||
+ | | 0xC8 | ||
|- | |- | ||
| 0xF8 | | 0xF8 | ||
Line 1,370: | Line 1,895: | ||
| dmp_TexEnv[2].srcRgb | | dmp_TexEnv[2].srcRgb | ||
| 0x0012DF08 | | 0x0012DF08 | ||
+ | | ? | ||
+ | | 0xD0 | ||
|- | |- | ||
| 0xF9 | | 0xF9 | ||
Line 1,375: | Line 1,902: | ||
| dmp_TexEnv[3].srcRgb | | dmp_TexEnv[3].srcRgb | ||
| 0x0012DF08 | | 0x0012DF08 | ||
+ | | ? | ||
+ | | 0xD8 | ||
|- | |- | ||
| 0xFA | | 0xFA | ||
Line 1,380: | Line 1,909: | ||
| dmp_TexEnv[4].srcRgb | | dmp_TexEnv[4].srcRgb | ||
| 0x0012DF08 | | 0x0012DF08 | ||
+ | | ? | ||
+ | | 0xF0 | ||
|- | |- | ||
| 0xFB | | 0xFB | ||
Line 1,385: | Line 1,916: | ||
| dmp_TexEnv[5].srcRgb | | dmp_TexEnv[5].srcRgb | ||
| 0x0012DF08 | | 0x0012DF08 | ||
+ | | ? | ||
+ | | 0xF8 | ||
|- | |- | ||
| 0xFC | | 0xFC | ||
Line 1,390: | Line 1,923: | ||
| dmp_TexEnv[0].srcAlpha | | dmp_TexEnv[0].srcAlpha | ||
| 0x0012E0FC | | 0x0012E0FC | ||
+ | | ? | ||
+ | | 0xC0 | ||
|- | |- | ||
| 0xFD | | 0xFD | ||
Line 1,395: | Line 1,930: | ||
| dmp_TexEnv[1].srcAlpha | | dmp_TexEnv[1].srcAlpha | ||
| 0x0012E0FC | | 0x0012E0FC | ||
+ | | ? | ||
+ | | 0xC8 | ||
|- | |- | ||
| 0xFE | | 0xFE | ||
Line 1,400: | Line 1,937: | ||
| dmp_TexEnv[2].srcAlpha | | dmp_TexEnv[2].srcAlpha | ||
| 0x0012E0FC | | 0x0012E0FC | ||
+ | | ? | ||
+ | | 0xD0 | ||
|- | |- | ||
| 0xFF | | 0xFF | ||
Line 1,405: | Line 1,944: | ||
| dmp_TexEnv[3].srcAlpha | | dmp_TexEnv[3].srcAlpha | ||
| 0x0012E0FC | | 0x0012E0FC | ||
+ | | ? | ||
+ | | 0xD8 | ||
|- | |- | ||
| 0x100 | | 0x100 | ||
Line 1,410: | Line 1,951: | ||
| dmp_TexEnv[4].srcAlpha | | dmp_TexEnv[4].srcAlpha | ||
| 0x0012E0FC | | 0x0012E0FC | ||
+ | | ? | ||
+ | | 0xF0 | ||
|- | |- | ||
| 0x101 | | 0x101 | ||
Line 1,415: | Line 1,958: | ||
| dmp_TexEnv[5].srcAlpha | | dmp_TexEnv[5].srcAlpha | ||
| 0x0012E0FC | | 0x0012E0FC | ||
+ | | ? | ||
+ | | 0xF8 | ||
|- | |- | ||
| 0x102 | | 0x102 | ||
Line 1,420: | Line 1,965: | ||
| dmp_TexEnv[0].operandRgb | | dmp_TexEnv[0].operandRgb | ||
| 0x0012E2F0 | | 0x0012E2F0 | ||
+ | | ? | ||
+ | | 0xC1 | ||
|- | |- | ||
| 0x103 | | 0x103 | ||
Line 1,425: | Line 1,972: | ||
| dmp_TexEnv[1].operandRgb | | dmp_TexEnv[1].operandRgb | ||
| 0x0012E2F0 | | 0x0012E2F0 | ||
+ | | ? | ||
+ | | 0xC9 | ||
|- | |- | ||
| 0x104 | | 0x104 | ||
Line 1,430: | Line 1,979: | ||
| dmp_TexEnv[2].operandRgb | | dmp_TexEnv[2].operandRgb | ||
| 0x0012E2F0 | | 0x0012E2F0 | ||
+ | | ? | ||
+ | | 0xD1 | ||
|- | |- | ||
| 0x105 | | 0x105 | ||
Line 1,435: | Line 1,986: | ||
| dmp_TexEnv[3].operandRgb | | dmp_TexEnv[3].operandRgb | ||
| 0x0012E2F0 | | 0x0012E2F0 | ||
+ | | ? | ||
+ | | 0xD9 | ||
|- | |- | ||
| 0x106 | | 0x106 | ||
Line 1,440: | Line 1,993: | ||
| dmp_TexEnv[4].operandRgb | | dmp_TexEnv[4].operandRgb | ||
| 0x0012E2F0 | | 0x0012E2F0 | ||
+ | | ? | ||
+ | | 0xF1 | ||
|- | |- | ||
| 0x107 | | 0x107 | ||
Line 1,445: | Line 2,000: | ||
| dmp_TexEnv[5].operandRgb | | dmp_TexEnv[5].operandRgb | ||
| 0x0012E2F0 | | 0x0012E2F0 | ||
+ | | ? | ||
+ | | 0xF9 | ||
|- | |- | ||
| 0x108 | | 0x108 | ||
Line 1,450: | Line 2,007: | ||
| dmp_TexEnv[0].operandAlpha | | dmp_TexEnv[0].operandAlpha | ||
| 0x0012E51C | | 0x0012E51C | ||
+ | | ? | ||
+ | | 0xC1 | ||
|- | |- | ||
| 0x109 | | 0x109 | ||
Line 1,455: | Line 2,014: | ||
| dmp_TexEnv[1].operandAlpha | | dmp_TexEnv[1].operandAlpha | ||
| 0x0012E51C | | 0x0012E51C | ||
+ | | ? | ||
+ | | 0xC9 | ||
|- | |- | ||
| 0x10A | | 0x10A | ||
Line 1,460: | Line 2,021: | ||
| dmp_TexEnv[2].operandAlpha | | dmp_TexEnv[2].operandAlpha | ||
| 0x0012E51C | | 0x0012E51C | ||
+ | | ? | ||
+ | | 0xD1 | ||
|- | |- | ||
| 0x10B | | 0x10B | ||
Line 1,465: | Line 2,028: | ||
| dmp_TexEnv[3].operandAlpha | | dmp_TexEnv[3].operandAlpha | ||
| 0x0012E51C | | 0x0012E51C | ||
+ | | ? | ||
+ | | 0xD9 | ||
|- | |- | ||
| 0x10C | | 0x10C | ||
Line 1,470: | Line 2,035: | ||
| dmp_TexEnv[4].operandAlpha | | dmp_TexEnv[4].operandAlpha | ||
| 0x0012E51C | | 0x0012E51C | ||
+ | | ? | ||
+ | | 0xF1 | ||
|- | |- | ||
| 0x10D | | 0x10D | ||
Line 1,475: | Line 2,042: | ||
| dmp_TexEnv[5].operandAlpha | | dmp_TexEnv[5].operandAlpha | ||
| 0x0012E51C | | 0x0012E51C | ||
+ | | ? | ||
+ | | 0xF9 | ||
|- | |- | ||
| 0x10E | | 0x10E | ||
Line 1,480: | Line 2,049: | ||
| dmp_TexEnv[0].scaleRgb | | dmp_TexEnv[0].scaleRgb | ||
| 0x00155464 | | 0x00155464 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0x10F | | 0x10F | ||
Line 1,485: | Line 2,056: | ||
| dmp_TexEnv[1].scaleRgb | | dmp_TexEnv[1].scaleRgb | ||
| 0x00155464 | | 0x00155464 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0x110 | | 0x110 | ||
Line 1,490: | Line 2,063: | ||
| dmp_TexEnv[2].scaleRgb | | dmp_TexEnv[2].scaleRgb | ||
| 0x00155464 | | 0x00155464 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0x111 | | 0x111 | ||
Line 1,495: | Line 2,070: | ||
| dmp_TexEnv[3].scaleRgb | | dmp_TexEnv[3].scaleRgb | ||
| 0x00155464 | | 0x00155464 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0x112 | | 0x112 | ||
Line 1,500: | Line 2,077: | ||
| dmp_TexEnv[4].scaleRgb | | dmp_TexEnv[4].scaleRgb | ||
| 0x00155464 | | 0x00155464 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0x113 | | 0x113 | ||
Line 1,505: | Line 2,084: | ||
| dmp_TexEnv[5].scaleRgb | | dmp_TexEnv[5].scaleRgb | ||
| 0x00155464 | | 0x00155464 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0x114 | | 0x114 | ||
Line 1,510: | Line 2,091: | ||
| dmp_TexEnv[0].scaleAlpha | | dmp_TexEnv[0].scaleAlpha | ||
| 0x00158EDC | | 0x00158EDC | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0x115 | | 0x115 | ||
Line 1,515: | Line 2,098: | ||
| dmp_TexEnv[1].scaleAlpha | | dmp_TexEnv[1].scaleAlpha | ||
| 0x00158EDC | | 0x00158EDC | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0x116 | | 0x116 | ||
Line 1,520: | Line 2,105: | ||
| dmp_TexEnv[2].scaleAlpha | | dmp_TexEnv[2].scaleAlpha | ||
| 0x00158EDC | | 0x00158EDC | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0x117 | | 0x117 | ||
Line 1,525: | Line 2,112: | ||
| dmp_TexEnv[3].scaleAlpha | | dmp_TexEnv[3].scaleAlpha | ||
| 0x00158EDC | | 0x00158EDC | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0x118 | | 0x118 | ||
Line 1,530: | Line 2,119: | ||
| dmp_TexEnv[4].scaleAlpha | | dmp_TexEnv[4].scaleAlpha | ||
| 0x00158EDC | | 0x00158EDC | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0x119 | | 0x119 | ||
Line 1,535: | Line 2,126: | ||
| dmp_TexEnv[5].scaleAlpha | | dmp_TexEnv[5].scaleAlpha | ||
| 0x00158EDC | | 0x00158EDC | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0x11A | | 0x11A | ||
Line 1,540: | Line 2,133: | ||
| dmp_TexEnv[0].constRgba | | dmp_TexEnv[0].constRgba | ||
| 0x00158FF4 | | 0x00158FF4 | ||
+ | | ? | ||
+ | | 0xC3 | ||
|- | |- | ||
| 0x11B | | 0x11B | ||
Line 1,545: | Line 2,140: | ||
| dmp_TexEnv[1].constRgba | | dmp_TexEnv[1].constRgba | ||
| 0x00158FF4 | | 0x00158FF4 | ||
+ | | ? | ||
+ | | 0xCB | ||
|- | |- | ||
| 0x11C | | 0x11C | ||
Line 1,550: | Line 2,147: | ||
| dmp_TexEnv[2].constRgba | | dmp_TexEnv[2].constRgba | ||
| 0x00158FF4 | | 0x00158FF4 | ||
+ | | ? | ||
+ | | 0xD3 | ||
|- | |- | ||
| 0x11D | | 0x11D | ||
Line 1,555: | Line 2,154: | ||
| dmp_TexEnv[3].constRgba | | dmp_TexEnv[3].constRgba | ||
| 0x00158FF4 | | 0x00158FF4 | ||
+ | | ? | ||
+ | | 0xDB | ||
|- | |- | ||
| 0x11E | | 0x11E | ||
Line 1,560: | Line 2,161: | ||
| dmp_TexEnv[4].constRgba | | dmp_TexEnv[4].constRgba | ||
| 0x00158FF4 | | 0x00158FF4 | ||
+ | | ? | ||
+ | | 0xF3 | ||
|- | |- | ||
| 0x11F | | 0x11F | ||
Line 1,565: | Line 2,168: | ||
| dmp_TexEnv[5].constRgba | | dmp_TexEnv[5].constRgba | ||
| 0x00158FF4 | | 0x00158FF4 | ||
+ | | ? | ||
+ | | 0xFB | ||
|- | |- | ||
| 0x120 | | 0x120 | ||
Line 1,570: | Line 2,175: | ||
| dmp_TexEnv[0].bufferColor | | dmp_TexEnv[0].bufferColor | ||
| 0x001591C0 | | 0x001591C0 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0x121 | | 0x121 | ||
Line 1,575: | Line 2,182: | ||
| dmp_TexEnv[1].bufferInput | | dmp_TexEnv[1].bufferInput | ||
| 0x0012E6D0 | | 0x0012E6D0 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0x122 | | 0x122 | ||
Line 1,580: | Line 2,189: | ||
| dmp_TexEnv[2].bufferInput | | dmp_TexEnv[2].bufferInput | ||
| 0x0012E6D0 | | 0x0012E6D0 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0x123 | | 0x123 | ||
Line 1,585: | Line 2,196: | ||
| dmp_TexEnv[3].bufferInput | | dmp_TexEnv[3].bufferInput | ||
| 0x0012E6D0 | | 0x0012E6D0 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0x124 | | 0x124 | ||
Line 1,590: | Line 2,203: | ||
| dmp_TexEnv[4].bufferInput | | dmp_TexEnv[4].bufferInput | ||
| 0x0012E6D0 | | 0x0012E6D0 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0x125 | | 0x125 | ||
Line 1,595: | Line 2,210: | ||
| dmp_Fog.mode | | dmp_Fog.mode | ||
| 0x0012E7F8 | | 0x0012E7F8 | ||
+ | | ? | ||
+ | | 0x00E0 bit0-2 (5 -> fog (0x0B60), 7 -> gas (0x6050)) | ||
|- | |- | ||
| 0x126 | | 0x126 | ||
Line 1,600: | Line 2,217: | ||
| dmp_Fog.color | | dmp_Fog.color | ||
| 0x00159338 | | 0x00159338 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0x127 | | 0x127 | ||
Line 1,605: | Line 2,224: | ||
| dmp_Fog.zFlip | | dmp_Fog.zFlip | ||
| 0x0012E9DC | | 0x0012E9DC | ||
+ | | ? | ||
+ | | 0x00E0 bit16 | ||
|- | |- | ||
| 0x128 | | 0x128 | ||
Line 1,610: | Line 2,231: | ||
| dmp_Fog.sampler | | dmp_Fog.sampler | ||
| 0x0012EAA4 | | 0x0012EAA4 | ||
+ | | ? | ||
+ | | ? | ||
|} | |} | ||
On steeldiver's uniform handlers : R1 is a pointer to the current shader program object, R12 is a pointer to the data the uniform is being set to. | On steeldiver's uniform handlers : R1 is a pointer to the current shader program object, R12 is a pointer to the data the uniform is being set to. | ||
+ | |||
+ | == Other Symbols == | ||
+ | |||
+ | The list above is not exhaustive. A number of other strings specific to Nintendo's rendering framework have been found. Below is a table listing those strings including the location they were found in. | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | ! Name | ||
+ | ! Context | ||
+ | ! Occurrence | ||
+ | |- | ||
+ | | dmp_Point.viewport.xy | ||
+ | | Name of a shader uniform | ||
+ | | CTRAging's romfs:/gpu/GasCessna/shader.shbin | ||
+ | |- | ||
+ | | dmp_Point.distanceAttenuation | ||
+ | | Name of a shader uniform | ||
+ | | CTRAging's romfs:/gpu/GasCessna/shader.shbin | ||
+ | |- | ||
+ | | dmp_Point.Position | ||
+ | | Name of a shader uniform | ||
+ | | CTRAging's romfs:/gpu/GasCessna/shader.shbin | ||
+ | |- | ||
+ | | dmp_Point.PointSize | ||
+ | | Name of a shader uniform | ||
+ | | CTRAging's romfs:/gpu/GasCessna/shader.shbin | ||
+ | |} |
Latest revision as of 18:38, 25 August 2015
This page's goal is to describe parts of Nintendo's OpenGL implementation for the 3DS as we reverse engineer it to better understand how to use the PICA200. Some of the information on this page is specific to Steeldiver : Sub Wars. The reason for this is that it's a fairly graphics-heavy game that's available on the eShop for free, so it seems like a good target for a community REing effort.
Description[edit]
The PICA200 is an OpenGL ES 1.1 compliant GPU manufactured by DMP. It comes loaded with a number of extensions that make it similar to an OpenGL ES 2.0 compliant GPU (ability to run programmable vertex/geometry shaders, for instance). Because of this, Nintendo wrapped GPU access into an OpenGL ES 2.0 implementation with some limitations. As the fragment stage of the pipeline is non-programmable, Nintendo instead gives developers the ability to configure a number of fragment-related values through glGetUniformLocation and glUniformXX. See below for the full list.
Shader program structure[edit]
When uniform values are set (in shm_uniformfv/shm_uniformiv), they are attached to the current shader program and stored into the corresponding shader program structure. They are later written to the GPU command buffer in __shv_validateShaderValidator or equivalent.
Shader program struct :
Offset | Size | Description |
---|---|---|
0x000 | 0x04 | Value 0x0 ? |
0x004 | 0x04 | Program ID |
0x008 | 0x04 | Value -1 ? |
0x01C | 0x04 | Pointer to program-specific uniform table |
0x020 | 0x04 | Total number of uniforms for program |
0x028 | 0x04 | Number of program-specific uniforms |
0x414 | 0x04 | Pointer to vertex shader struct |
0x64C | 0x04 | Value for GPU register 0x0104 |
0x7C0 | 0x04 | Bitfield containing dmp_FragmentLightSource[n].shadowed values |
0x7D8 | 0x04 | Bitfield containing dmp_FragmentLightSource[n].geomFactor0 / dmp_FragmentLightSource[n].geomFactor1 / dmp_FragmentLightSource[n].twoSideDiffuse values |
0xA20 | 0x70*8 | Table of structs for 8 dmp_FragmentLightSource |
dmp_FragmentLightSource struct:
Offset | Size | Description |
---|---|---|
0x00 | 0x01 | dmp_FragmentLightSource[k].enabled |
0x04 | 0x10 | dmp_FragmentLightSource[k].ambient (float[4]) |
0x14 | 0x10 | dmp_FragmentLightSource[k].diffuse (float[4]) |
0x24 | 0x10 | dmp_FragmentLightSource[k].specular0 (float[4]) |
0x34 | 0x10 | dmp_FragmentLightSource[k].specular1 (float[4]) |
0x44 | 0x10 | dmp_FragmentLightSource[k].position (float[4]) |
0x54 | 0x10 | dmp_FragmentLightSource[k].spotDirection (float[3]) |
0x60 | 0x04 | dmp_FragmentLightSource[k].samplerSP (u32) |
0x64 | 0x04 | dmp_FragmentLightSource[k].distanceAttenuationBias (float) |
0x68 | 0x04 | dmp_FragmentLightSource[k].distanceAttenuationScale (float) |
vertex/geometry shader struct:
Offset | Size | Description |
---|---|---|
0x0 | 0x4 | Pointer to shader code data |
0x4 | 0x4 | Size of shader code (in words) |
0x8 | 0x4 | Pointer to shader opdesc data |
0xC | 0x4 | Size of shader opdescs (in words) |
Proposed REing methodology[edit]
1. Choose a "uniform" you want to RE below
2. Take note of its ID and type !
3. Depending on whether its a float or not, go through the gigantic switches in shm_uniformfv or shm_uniformiv (non-float) based on the ID of your uniform (in the case of steeldiver: sub wars you can now just go directly to the handler as it's listed in the table below)
4. Once you find the piece of code specific to your uniform, take note of how the values passed to shm_uniformfv/shm_uniformiv are written to the shader object
5. Go through __shv_validateShaderValidator looking for where those fields written to in shm_uniformfv/shm_uniformiv are used and written to the GPU command buffer either directly or through __cb_writeRegs, __cb_multiWriteReg or __cb_fillRegs.
6. Document findings on 3Dbrew ! (that's the most important step)
Fragment "uniform" list[edit]
Uniform ID | Type | Name | Handler address (Steeldiver : Sub Wars) | Shader Program struct offset | GPU Register |
---|---|---|---|---|---|
0x0 | GL_BOOL | dmp_Texture[0].perspectiveShadow | 0x0012A504 | ? | 0x008B bit0 (0 = enable??) |
0x1 | GL_FLOAT | dmp_Texture[0].shadowZBias | 0x00155584 | 0xE44 | ? |
0x2 | GL_FLOAT | dmp_Texture[0].shadowZScale | 0x001556A0 | 0xE48 | ? |
0x3 | GL_INT | dmp_Texture[0].samplerType | 0x0012A5D0 | ? | ? |
0x4 | GL_INT | dmp_Texture[1].samplerType | 0x0012A6F8 | ? | ? |
0x5 | GL_INT | dmp_Texture[2].samplerType | 0x0012A774 | ? | ? |
0x6 | GL_INT | dmp_Texture[3].samplerType | 0x0012A7F0 | ? | 0x0080 bit10 (?) |
0x7 | GL_INT | dmp_Texture[2].texcoord | 0x0012A8B4 | ? | 0x0080 bit13 (1 = use texcoords from texture unit 1) |
0x8 | GL_INT | dmp_Texture[3].texcoord | 0x0012A97C | ? | 0x0080 bit8-9 (0-2 = use texcoords from texture unit 0-2 resp., 3 = forbidden?) |
0x9 | GL_INT | dmp_Texture[3].ptRgbMap | 0x0012AA54 | ? | 0x00A8 bit6-9 |
0xA | GL_INT | dmp_Texture[3].ptAlphaMap | 0x0012AB94 | ? | 0x00A8 bit10-13 |
0xB | GL_BOOL | dmp_Texture[3].ptAlphaSeparate | 0x0012ACD4 | ? | 0x00A8 bit14 |
0xC | GL_INT | dmp_Texture[3].ptClampU | 0x0012ADB8 | ? | 0x00A8 bit0-2 |
0xD | GL_INT | dmp_Texture[3].ptClampV | 0x0012AEC0 | ? | 0x00A8 bit3-5 |
0xE | GL_INT | dmp_Texture[3].ptShiftU | 0x0012AFD0 | ? | 0x00A8 bit16-17 |
0xF | GL_INT | dmp_Texture[3].ptShiftV | 0x0012B0A0 | ? | 0x00A8 bit18-19 |
0x10 | GL_INT | dmp_Texture[3].ptMinFilter | 0x0012B168 | ? | 0x00AC bit0-2 |
0x11 | GL_INT | dmp_Texture[3].ptTexWidth | 0x0012B270 | ? | 0x00AC bit11-18 |
0x12 | GL_INT | dmp_Texture[3].ptTexOffset | 0x0012B334 | ? | 0x00AD bit0-7 |
0x13 | GL_FLOAT | dmp_Texture[3].ptTexBias | 0x001556B4 | 0xE10 | 0x00A8 bit20-27 |
0x14 | GL_BOOL | dmp_Texture[3].ptNoiseEnable | 0x0012B3E0 | ? | 0x00A8 bit15 |
0x15 | GL_FLOAT_VEC3 | dmp_Texture[3].ptNoiseU | 0x00155878 | 0xE14 | 0x00A9, 0x00AB |
0x16 | GL_FLOAT_VEC3 | dmp_Texture[3].ptNoiseV | 0x00155A7C | 0xE20 | 0x00AA, 0x00AB |
0x17 | GL_SAMPLER_1D | dmp_Texture[3].ptSamplerRgbMap | 0x0012B4B0 | 0xDF0 | ? |
0x18 | GL_SAMPLER_1D | dmp_Texture[3].ptSamplerAlphaMap | 0x0012B4F4 | 0xDF4 | ? |
0x19 | GL_SAMPLER_1D | dmp_Texture[3].ptSamplerNoiseMap | 0x0012B540 | 0xDF8 | ? |
0x1A | GL_SAMPLER_1D | dmp_Texture[3].ptSamplerR | 0x0012B58C | 0xDFC | ? |
0x1B | GL_SAMPLER_1D | dmp_Texture[3].ptSamplerG | 0x0012B5D8 | 0xE00 | ? |
0x1C | GL_SAMPLER_1D | dmp_Texture[3].ptSamplerB | 0x0012B624 | 0xE04 | ? |
0x1D | GL_SAMPLER_1D | dmp_Texture[3].ptSamplerA | 0x0012B670 | 0xE08 | ? |
0x1E | GL_INT | dmp_FragOperation.mode | 0x0012B6BC | 0xE38 | ? |
0x1F | GL_FLOAT | dmp_FragOperation.penumbraScale | 0x00155C98 | 0xE40 | ? |
0x20 | GL_FLOAT | dmp_FragOperation.penumbraBias | 0x00155D8C | 0xE3C | ? |
0x21 | GL_FLOAT | dmp_FragOperation.wScale | 0x00155E9C | 0xE4C | ? |
0x22 | GL_BOOL | dmp_FragOperation.enableClippingPlane | 0x0012EAEC | 0x568 | 0x0047 bit0 |
0x23 | GL_FLOAT_VEC4 | dmp_FragOperation.clippingPlane | 0x00159474 | 0xE50 | ? |
0x24 | GL_BOOL | dmp_FragOperation.enableAlphaTest | 0x0012EBAC | 0x64C | ? |
0x25 | GL_INT | dmp_FragOperation.alphaTestFunc | 0x0012EC64 | 0x64C | ? |
0x26 | GL_FLOAT | dmp_FragOperation.alphaRefValue | 0x0015971C | 0x64C ? | ? |
0x27 | GL_FLOAT_VEC3 | dmp_Gas.lightXY | 0x001560EC | 0xE84 | 0x0120 (vec[0] -> bit0-7, vec[1] -> bit8-15, vec[2] -> bit16-23) |
0x28 | GL_FLOAT_VEC4 | dmp_Gas.lightZ | 0x00156268 | 0xE90 | 0x0121 (vec[0] -> bit0-7, vec[1] -> bit8-15, vec[2] -> bit16-23), 0x0122 (vec[3] -> bit 0-7) |
0x29 | GL_FLOAT | dmp_Gas.deltaZ | 0x001564D4 | 0xEA0 | 0x0126 bit0-23 |
0x2A | GL_FLOAT | dmp_Gas.accMax | 0x001565C0 | 0xEA4 | 0x00E5 |
0x2B | GL_BOOL | dmp_Gas.autoAcc | 0x0012B790 | 0xE74 | ? |
0x2C | GL_FLOAT | dmp_Gas.attenuation | 0x00156684 | 0xEA8 | 0x00E4 |
0x2D | GL_INT | dmp_Gas.colorLutInput | 0x0012B7A4 | 0x640 | 0x0122 bit8 (0x6060/0x6061 -> 0/1) |
0x2E | GL_INT | dmp_Gas.shadingDensitySrc | 0x0012B854 | 0x624 | 0x00E0 bit3 (0x605E/0x605F -> 0/1) |
0x2F | GL_SAMPLER_1D | dmp_Gas.samplerTR | 0x0012B910 | 0xE78 | ? |
0x30 | GL_SAMPLER_1D | dmp_Gas.samplerTG | 0x0012B95C | 0xE7C | ? |
0x31 | GL_SAMPLER_1D | dmp_Gas.samplerTB | 0x0012B9A8 | 0xE80 | ? |
0x32 | GL_BOOL | dmp_FragmentLighting.enabled | 0x0012B9F4 | 0x590 | 0x00A8 bit0, 0x01C6 (0 = enabled) |
0x33 | GL_FLOAT_VEC4 | dmp_FragmentLighting.ambient | 0x00156744 | 0xA10 | 0x01C0? |
0x34 | GL_FLOAT_VEC4 | dmp_FragmentMaterial.emission | 0x00156E1C | 0xDE0 | 0x01C0? |
0x35 | GL_FLOAT_VEC4 | dmp_FragmentMaterial.ambient | 0x0015696C | 0xDA0 | 0x01C0 |
0x36 | GL_FLOAT_VEC4 | dmp_FragmentMaterial.diffuse | 0x00157048 | 0xDB0 | ? |
0x37 | GL_FLOAT_VEC4 | dmp_FragmentMaterial.specular0 | 0x001572E0 | 0xDC0 | ? |
0x38 | GL_FLOAT_VEC4 | dmp_FragmentMaterial.specular1 | 0x0015756C | 0xDD0 | ? |
0x39 | GL_BOOL | dmp_FragmentLightSource[0].enabled | 0x0012BD24 | 0xA20+0*0x70+0x00 | 0x01C5 |
0x3A | GL_BOOL | dmp_FragmentLightSource[1].enabled | 0x0012BD24 | 0xA20+1*0x70+0x00 | 0x01C5 |
0x3B | GL_BOOL | dmp_FragmentLightSource[2].enabled | 0x0012BD24 | 0xA20+2*0x70+0x00 | 0x01C5 |
0x3C | GL_BOOL | dmp_FragmentLightSource[3].enabled | 0x0012BD24 | 0xA20+3*0x70+0x00 | 0x01C5 |
0x3D | GL_BOOL | dmp_FragmentLightSource[4].enabled | 0x0012BD24 | 0xA20+4*0x70+0x00 | 0x01C5 |
0x3E | GL_BOOL | dmp_FragmentLightSource[5].enabled | 0x0012BD24 | 0xA20+5*0x70+0x00 | 0x01C5 |
0x3F | GL_BOOL | dmp_FragmentLightSource[6].enabled | 0x0012BD24 | 0xA20+6*0x70+0x00 | 0x01C5 |
0x40 | GL_BOOL | dmp_FragmentLightSource[7].enabled | 0x0012BD24 | 0xA20+7*0x70+0x00 | 0x01C5 |
0x41 | GL_FLOAT_VEC4 | dmp_FragmentLightSource[0].ambient | 0x001579CC | 0xA20+0*0x70+0x04 | 0x0143 |
0x42 | GL_FLOAT_VEC4 | dmp_FragmentLightSource[1].ambient | 0x001579CC | 0xA20+1*0x70+0x04 | 0x0153 |
0x43 | GL_FLOAT_VEC4 | dmp_FragmentLightSource[2].ambient | 0x001579CC | 0xA20+2*0x70+0x04 | 0x0163 |
0x44 | GL_FLOAT_VEC4 | dmp_FragmentLightSource[3].ambient | 0x001579CC | 0xA20+3*0x70+0x04 | 0x0173 |
0x45 | GL_FLOAT_VEC4 | dmp_FragmentLightSource[4].ambient | 0x001579CC | 0xA20+4*0x70+0x04 | 0x0183 |
0x46 | GL_FLOAT_VEC4 | dmp_FragmentLightSource[5].ambient | 0x001579CC | 0xA20+5*0x70+0x04 | 0x0193 |
0x47 | GL_FLOAT_VEC4 | dmp_FragmentLightSource[6].ambient | 0x001579CC | 0xA20+6*0x70+0x04 | 0x01A3 |
0x48 | GL_FLOAT_VEC4 | dmp_FragmentLightSource[7].ambient | 0x001579CC | 0xA20+7*0x70+0x04 | 0x01B3 |
0x49 | GL_FLOAT_VEC4 | dmp_FragmentLightSource[0].diffuse | 0x00157C10 | 0xA20+0*0x70+0x14 | 0x0142 |
0x4A | GL_FLOAT_VEC4 | dmp_FragmentLightSource[1].diffuse | 0x00157C10 | 0xA20+1*0x70+0x14 | 0x0152 |
0x4B | GL_FLOAT_VEC4 | dmp_FragmentLightSource[2].diffuse | 0x00157C10 | 0xA20+2*0x70+0x14 | 0x0162 |
0x4C | GL_FLOAT_VEC4 | dmp_FragmentLightSource[3].diffuse | 0x00157C10 | 0xA20+3*0x70+0x14 | 0x0172 |
0x4D | GL_FLOAT_VEC4 | dmp_FragmentLightSource[4].diffuse | 0x00157C10 | 0xA20+4*0x70+0x14 | 0x0182 |
0x4E | GL_FLOAT_VEC4 | dmp_FragmentLightSource[5].diffuse | 0x00157C10 | 0xA20+5*0x70+0x14 | 0x0192 |
0x4F | GL_FLOAT_VEC4 | dmp_FragmentLightSource[6].diffuse | 0x00157C10 | 0xA20+6*0x70+0x14 | 0x01A2 |
0x50 | GL_FLOAT_VEC4 | dmp_FragmentLightSource[7].diffuse | 0x00157C10 | 0xA20+7*0x70+0x14 | 0x01B2 |
0x51 | GL_FLOAT_VEC4 | dmp_FragmentLightSource[0].specular0 | 0x00157E5C | 0xA20+0*0x70+0x24 | 0x01C8 ? |
0x52 | GL_FLOAT_VEC4 | dmp_FragmentLightSource[1].specular0 | 0x00157E5C | 0xA20+1*0x70+0x24 | 0x01C8 ? |
0x53 | GL_FLOAT_VEC4 | dmp_FragmentLightSource[2].specular0 | 0x00157E5C | 0xA20+2*0x70+0x24 | 0x01C8 ? |
0x54 | GL_FLOAT_VEC4 | dmp_FragmentLightSource[3].specular0 | 0x00157E5C | 0xA20+3*0x70+0x24 | 0x01C8 ? |
0x55 | GL_FLOAT_VEC4 | dmp_FragmentLightSource[4].specular0 | 0x00157E5C | 0xA20+4*0x70+0x24 | 0x01C8 ? |
0x56 | GL_FLOAT_VEC4 | dmp_FragmentLightSource[5].specular0 | 0x00157E5C | 0xA20+5*0x70+0x24 | 0x01C8 ? |
0x57 | GL_FLOAT_VEC4 | dmp_FragmentLightSource[6].specular0 | 0x00157E5C | 0xA20+6*0x70+0x24 | 0x01C8 ? |
0x58 | GL_FLOAT_VEC4 | dmp_FragmentLightSource[7].specular0 | 0x00157E5C | 0xA20+7*0x70+0x24 | 0x01C8 ? |
0x59 | GL_FLOAT_VEC4 | dmp_FragmentLightSource[0].specular1 | 0x001580B4 | 0xA20+0*0x70+0x34 | 0x01C8 ? |
0x5A | GL_FLOAT_VEC4 | dmp_FragmentLightSource[1].specular1 | 0x001580B4 | 0xA20+1*0x70+0x34 | 0x01C8 ? |
0x5B | GL_FLOAT_VEC4 | dmp_FragmentLightSource[2].specular1 | 0x001580B4 | 0xA20+2*0x70+0x34 | 0x01C8 ? |
0x5C | GL_FLOAT_VEC4 | dmp_FragmentLightSource[3].specular1 | 0x001580B4 | 0xA20+3*0x70+0x34 | 0x01C8 ? |
0x5D | GL_FLOAT_VEC4 | dmp_FragmentLightSource[4].specular1 | 0x001580B4 | 0xA20+4*0x70+0x34 | 0x01C8 ? |
0x5E | GL_FLOAT_VEC4 | dmp_FragmentLightSource[5].specular1 | 0x001580B4 | 0xA20+5*0x70+0x34 | 0x01C8 ? |
0x5F | GL_FLOAT_VEC4 | dmp_FragmentLightSource[6].specular1 | 0x001580B4 | 0xA20+6*0x70+0x34 | 0x01C8 ? |
0x60 | GL_FLOAT_VEC4 | dmp_FragmentLightSource[7].specular1 | 0x001580B4 | 0xA20+7*0x70+0x34 | 0x01C8 ? |
0x61 | GL_FLOAT_VEC4 | dmp_FragmentLightSource[0].position | 0x001584B0 | 0xA20+0*0x70+0x44 | 0x01C8 ? |
0x62 | GL_FLOAT_VEC4 | dmp_FragmentLightSource[1].position | 0x001584B0 | 0xA20+1*0x70+0x44 | 0x01C8 ? |
0x63 | GL_FLOAT_VEC4 | dmp_FragmentLightSource[2].position | 0x001584B0 | 0xA20+2*0x70+0x44 | 0x01C8 ? |
0x64 | GL_FLOAT_VEC4 | dmp_FragmentLightSource[3].position | 0x001584B0 | 0xA20+3*0x70+0x44 | 0x01C8 ? |
0x65 | GL_FLOAT_VEC4 | dmp_FragmentLightSource[4].position | 0x001584B0 | 0xA20+4*0x70+0x44 | 0x01C8 ? |
0x66 | GL_FLOAT_VEC4 | dmp_FragmentLightSource[5].position | 0x001584B0 | 0xA20+5*0x70+0x44 | 0x01C8 ? |
0x67 | GL_FLOAT_VEC4 | dmp_FragmentLightSource[6].position | 0x001584B0 | 0xA20+6*0x70+0x44 | 0x01C8 ? |
0x68 | GL_FLOAT_VEC4 | dmp_FragmentLightSource[7].position | 0x001584B0 | 0xA20+7*0x70+0x44 | 0x01C8 ? |
0x69 | GL_FLOAT_VEC3 | dmp_FragmentLightSource[0].spotDirection | 0x001587E4 | 0xA20+0*0x70+0x54 | 0x01C8 ? |
0x6A | GL_FLOAT_VEC3 | dmp_FragmentLightSource[1].spotDirection | 0x001587E4 | 0xA20+1*0x70+0x54 | 0x01C8 ? |
0x6B | GL_FLOAT_VEC3 | dmp_FragmentLightSource[2].spotDirection | 0x001587E4 | 0xA20+2*0x70+0x54 | 0x01C8 ? |
0x6C | GL_FLOAT_VEC3 | dmp_FragmentLightSource[3].spotDirection | 0x001587E4 | 0xA20+3*0x70+0x54 | 0x01C8 ? |
0x6D | GL_FLOAT_VEC3 | dmp_FragmentLightSource[4].spotDirection | 0x001587E4 | 0xA20+4*0x70+0x54 | 0x01C8 ? |
0x6E | GL_FLOAT_VEC3 | dmp_FragmentLightSource[5].spotDirection | 0x001587E4 | 0xA20+5*0x70+0x54 | 0x01C8 ? |
0x6F | GL_FLOAT_VEC3 | dmp_FragmentLightSource[6].spotDirection | 0x001587E4 | 0xA20+6*0x70+0x54 | 0x01C8 ? |
0x70 | GL_FLOAT_VEC3 | dmp_FragmentLightSource[7].spotDirection | 0x001587E4 | 0xA20+7*0x70+0x54 | 0x01C8 ? |
0x71 | GL_BOOL | dmp_FragmentLightSource[0].shadowed | 0x0012C20C | 0x7C0 | 0x01C8 ? |
0x72 | GL_BOOL | dmp_FragmentLightSource[1].shadowed | 0x0012C20C | 0x7C0 | 0x01C8 ? |
0x73 | GL_BOOL | dmp_FragmentLightSource[2].shadowed | 0x0012C20C | 0x7C0 | 0x01C8 ? |
0x74 | GL_BOOL | dmp_FragmentLightSource[3].shadowed | 0x0012C20C | 0x7C0 | 0x01C8 ? |
0x75 | GL_BOOL | dmp_FragmentLightSource[4].shadowed | 0x0012C20C | 0x7C0 | 0x01C8 ? |
0x76 | GL_BOOL | dmp_FragmentLightSource[5].shadowed | 0x0012C20C | 0x7C0 | 0x01C8 ? |
0x77 | GL_BOOL | dmp_FragmentLightSource[6].shadowed | 0x0012C20C | 0x7C0 | 0x01C8 ? |
0x78 | GL_BOOL | dmp_FragmentLightSource[7].shadowed | 0x0012C20C | 0x7C0 | 0x01C8 ? |
0x79 | GL_BOOL | dmp_FragmentLightSource[0].geomFactor0 | 0x0012C018 | 0x7D8 | 0x0149 bit2 |
0x7A | GL_BOOL | dmp_FragmentLightSource[1].geomFactor0 | 0x0012C018 | 0x7D8 | 0x0159 bit2 |
0x7B | GL_BOOL | dmp_FragmentLightSource[2].geomFactor0 | 0x0012C018 | 0x7D8 | 0x0169 bit2 |
0x7C | GL_BOOL | dmp_FragmentLightSource[3].geomFactor0 | 0x0012C018 | 0x7D8 | 0x0179 bit2 |
0x7D | GL_BOOL | dmp_FragmentLightSource[4].geomFactor0 | 0x0012C018 | 0x7D8 | 0x0189 bit2 |
0x7E | GL_BOOL | dmp_FragmentLightSource[5].geomFactor0 | 0x0012C018 | 0x7D8 | 0x0199 bit2 |
0x7F | GL_BOOL | dmp_FragmentLightSource[6].geomFactor0 | 0x0012C018 | 0x7D8 | 0x01A9 bit2 |
0x80 | GL_BOOL | dmp_FragmentLightSource[7].geomFactor0 | 0x0012C018 | 0x7D8 | 0x01B9 bit2 |
0x81 | GL_BOOL | dmp_FragmentLightSource[0].geomFactor1 | 0x0012C114 | 0x7D8 | 0x0149 bit3 |
0x82 | GL_BOOL | dmp_FragmentLightSource[1].geomFactor1 | 0x0012C114 | 0x7D8 | 0x0159 bit3 |
0x83 | GL_BOOL | dmp_FragmentLightSource[2].geomFactor1 | 0x0012C114 | 0x7D8 | 0x0169 bit3 |
0x84 | GL_BOOL | dmp_FragmentLightSource[3].geomFactor1 | 0x0012C114 | 0x7D8 | 0x0179 bit3 |
0x85 | GL_BOOL | dmp_FragmentLightSource[4].geomFactor1 | 0x0012C114 | 0x7D8 | 0x0189 bit3 |
0x86 | GL_BOOL | dmp_FragmentLightSource[5].geomFactor1 | 0x0012C114 | 0x7D8 | 0x0199 bit3 |
0x87 | GL_BOOL | dmp_FragmentLightSource[6].geomFactor1 | 0x0012C114 | 0x7D8 | 0x01A9 bit3 |
0x88 | GL_BOOL | dmp_FragmentLightSource[7].geomFactor1 | 0x0012C114 | 0x7D8 | 0x01B9 bit3 |
0x89 | GL_BOOL | dmp_FragmentLightSource[0].twoSideDiffuse | 0x0012BF10 | 0x7D8 | 0x0149 bit1 |
0x8A | GL_BOOL | dmp_FragmentLightSource[1].twoSideDiffuse | 0x0012BF10 | 0x7D8 | 0x0159 bit1 |
0x8B | GL_BOOL | dmp_FragmentLightSource[2].twoSideDiffuse | 0x0012BF10 | 0x7D8 | 0x0169 bit1 |
0x8C | GL_BOOL | dmp_FragmentLightSource[3].twoSideDiffuse | 0x0012BF10 | 0x7D8 | 0x0179 bit1 |
0x8D | GL_BOOL | dmp_FragmentLightSource[4].twoSideDiffuse | 0x0012BF10 | 0x7D8 | 0x0189 bit1 |
0x8E | GL_BOOL | dmp_FragmentLightSource[5].twoSideDiffuse | 0x0012BF10 | 0x7D8 | 0x0199 bit1 |
0x8F | GL_BOOL | dmp_FragmentLightSource[6].twoSideDiffuse | 0x0012BF10 | 0x7D8 | 0x01A9 bit1 |
0x90 | GL_BOOL | dmp_FragmentLightSource[7].twoSideDiffuse | 0x0012BF10 | 0x7D8 | 0x01B9 bit1 |
0x91 | GL_SAMPLER_1D | dmp_FragmentLightSource[0].samplerSP | 0x0012C31C | 0xA20+0*0x70+0x60 | 0x01C8 ? |
0x92 | GL_SAMPLER_1D | dmp_FragmentLightSource[1].samplerSP | 0x0012C31C | 0xA20+1*0x70+0x60 | 0x01C8 ? |
0x93 | GL_SAMPLER_1D | dmp_FragmentLightSource[2].samplerSP | 0x0012C31C | 0xA20+2*0x70+0x60 | 0x01C8 ? |
0x94 | GL_SAMPLER_1D | dmp_FragmentLightSource[3].samplerSP | 0x0012C31C | 0xA20+3*0x70+0x60 | 0x01C8 ? |
0x95 | GL_SAMPLER_1D | dmp_FragmentLightSource[4].samplerSP | 0x0012C31C | 0xA20+4*0x70+0x60 | 0x01C8 ? |
0x96 | GL_SAMPLER_1D | dmp_FragmentLightSource[5].samplerSP | 0x0012C31C | 0xA20+5*0x70+0x60 | 0x01C8 ? |
0x97 | GL_SAMPLER_1D | dmp_FragmentLightSource[6].samplerSP | 0x0012C31C | 0xA20+6*0x70+0x60 | 0x01C8 ? |
0x98 | GL_SAMPLER_1D | dmp_FragmentLightSource[7].samplerSP | 0x0012C31C | 0xA20+7*0x70+0x60 | 0x01C8 ? |
0x99 | GL_BOOL | dmp_FragmentLightSource[0].spotEnabled | 0x0012C380 | ? | 0x01C4 bit3 (1 = disable?) |
0x9A | GL_BOOL | dmp_FragmentLightSource[1].spotEnabled | 0x0012C380 | ? | 0x01C4 bit4 (1 = disable?) |
0x9B | GL_BOOL | dmp_FragmentLightSource[2].spotEnabled | 0x0012C380 | ? | 0x01C4 bit5 (1 = disable?) |
0x9C | GL_BOOL | dmp_FragmentLightSource[3].spotEnabled | 0x0012C380 | ? | 0x01C4 bit6 (1 = disable?) |
0x9D | GL_BOOL | dmp_FragmentLightSource[4].spotEnabled | 0x0012C380 | ? | 0x01C4 bit7 (1 = disable?) |
0x9E | GL_BOOL | dmp_FragmentLightSource[5].spotEnabled | 0x0012C380 | ? | 0x01C4 bit8 (1 = disable?) |
0x9F | GL_BOOL | dmp_FragmentLightSource[6].spotEnabled | 0x0012C380 | ? | 0x01C4 bit9 (1 = disable?) |
0xA0 | GL_BOOL | dmp_FragmentLightSource[7].spotEnabled | 0x0012C380 | ? | 0x01C4 bit10 (1 = disable?) |
0xA1 | GL_FLOAT | dmp_FragmentLightSource[0].distanceAttenuationBias | 0x00158AE8 | 0xA20+0*0x70+0x64 | 0x01C8 ? |
0xA2 | GL_FLOAT | dmp_FragmentLightSource[1].distanceAttenuationBias | 0x00158AE8 | 0xA20+1*0x70+0x64 | 0x01C8 ? |
0xA3 | GL_FLOAT | dmp_FragmentLightSource[2].distanceAttenuationBias | 0x00158AE8 | 0xA20+2*0x70+0x64 | 0x01C8 ? |
0xA4 | GL_FLOAT | dmp_FragmentLightSource[3].distanceAttenuationBias | 0x00158AE8 | 0xA20+3*0x70+0x64 | 0x01C8 ? |
0xA5 | GL_FLOAT | dmp_FragmentLightSource[4].distanceAttenuationBias | 0x00158AE8 | 0xA20+4*0x70+0x64 | 0x01C8 ? |
0xA6 | GL_FLOAT | dmp_FragmentLightSource[5].distanceAttenuationBias | 0x00158AE8 | 0xA20+5*0x70+0x64 | 0x01C8 ? |
0xA7 | GL_FLOAT | dmp_FragmentLightSource[6].distanceAttenuationBias | 0x00158AE8 | 0xA20+6*0x70+0x64 | 0x01C8 ? |
0xA8 | GL_FLOAT | dmp_FragmentLightSource[7].distanceAttenuationBias | 0x00158AE8 | 0xA20+7*0x70+0x64 | 0x01C8 ? |
0xA9 | GL_FLOAT | dmp_FragmentLightSource[0].distanceAttenuationScale | 0x00158C44 | 0xA20+0*0x70+0x68 | 0x01C8 ? |
0xAA | GL_FLOAT | dmp_FragmentLightSource[1].distanceAttenuationScale | 0x00158C44 | 0xA20+1*0x70+0x68 | 0x01C8 ? |
0xAB | GL_FLOAT | dmp_FragmentLightSource[2].distanceAttenuationScale | 0x00158C44 | 0xA20+2*0x70+0x68 | 0x01C8 ? |
0xAC | GL_FLOAT | dmp_FragmentLightSource[3].distanceAttenuationScale | 0x00158C44 | 0xA20+3*0x70+0x68 | 0x01C8 ? |
0xAD | GL_FLOAT | dmp_FragmentLightSource[4].distanceAttenuationScale | 0x00158C44 | 0xA20+4*0x70+0x68 | 0x01C8 ? |
0xAE | GL_FLOAT | dmp_FragmentLightSource[5].distanceAttenuationScale | 0x00158C44 | 0xA20+5*0x70+0x68 | 0x01C8 ? |
0xAF | GL_FLOAT | dmp_FragmentLightSource[6].distanceAttenuationScale | 0x00158C44 | 0xA20+6*0x70+0x68 | 0x01C8 ? |
0xB0 | GL_FLOAT | dmp_FragmentLightSource[7].distanceAttenuationScale | 0x00158C44 | 0xA20+7*0x70+0x68 | 0x01C8 ? |
0xB1 | GL_BOOL | dmp_FragmentLightSource[0].distanceAttenuationEnabled | 0x0012C4A0 | ? | 0x01C8 ? |
0xB2 | GL_BOOL | dmp_FragmentLightSource[1].distanceAttenuationEnabled | 0x0012C4A0 | ? | 0x01C8 ? |
0xB3 | GL_BOOL | dmp_FragmentLightSource[2].distanceAttenuationEnabled | 0x0012C4A0 | ? | 0x01C8 ? |
0xB4 | GL_BOOL | dmp_FragmentLightSource[3].distanceAttenuationEnabled | 0x0012C4A0 | ? | 0x01C8 ? |
0xB5 | GL_BOOL | dmp_FragmentLightSource[4].distanceAttenuationEnabled | 0x0012C4A0 | ? | 0x01C8 ? |
0xB6 | GL_BOOL | dmp_FragmentLightSource[5].distanceAttenuationEnabled | 0x0012C4A0 | ? | 0x01C8 ? |
0xB7 | GL_BOOL | dmp_FragmentLightSource[6].distanceAttenuationEnabled | 0x0012C4A0 | ? | 0x01C8 ? |
0xB8 | GL_BOOL | dmp_FragmentLightSource[7].distanceAttenuationEnabled | 0x0012C4A0 | ? | 0x01C8 ? |
0xB9 | GL_SAMPLER_1D | dmp_FragmentLightSource[0].samplerDA | 0x0012C578 | 0xA20+0*0x70+0x6C | 0x01C8 ? |
0xBA | GL_SAMPLER_1D | dmp_FragmentLightSource[1].samplerDA | 0x0012C578 | 0xA20+1*0x70+0x6C | 0x01C8 ? |
0xBB | GL_SAMPLER_1D | dmp_FragmentLightSource[2].samplerDA | 0x0012C578 | 0xA20+2*0x70+0x6C | 0x01C8 ? |
0xBC | GL_SAMPLER_1D | dmp_FragmentLightSource[3].samplerDA | 0x0012C578 | 0xA20+3*0x70+0x6C | 0x01C8 ? |
0xBD | GL_SAMPLER_1D | dmp_FragmentLightSource[4].samplerDA | 0x0012C578 | 0xA20+4*0x70+0x6C | 0x01C8 ? |
0xBE | GL_SAMPLER_1D | dmp_FragmentLightSource[5].samplerDA | 0x0012C578 | 0xA20+5*0x70+0x6C | 0x01C8 ? |
0xBF | GL_SAMPLER_1D | dmp_FragmentLightSource[6].samplerDA | 0x0012C578 | 0xA20+6*0x70+0x6C | 0x01C8 ? |
0xC0 | GL_SAMPLER_1D | dmp_FragmentLightSource[7].samplerDA | 0x0012C578 | 0xA20+7*0x70+0x6C | 0x01C8 ? |
0xC1 | GL_BOOL | dmp_LightEnv.absLutInputD0 | 0x0012C5D8 | ? | 0x01D0 bit12 (1 = disable?) |
0xC2 | GL_BOOL | dmp_LightEnv.absLutInputD1 | 0x0012C5D8 | ? | 0x01D0 bit13 (1 = disable?) |
0xC3 | GL_BOOL | dmp_LightEnv.absLutInputSP | 0x0012C5D8 | ? | 0x01D0 bit14 (1 = disable?) |
0xC4 | GL_BOOL | dmp_LightEnv.absLutInputFR | 0x0012C5D8 | ? | 0x01D0 bit15 (1 = disable?) |
0xC5 | GL_BOOL | dmp_LightEnv.absLutInputRB | 0x0012C5D8 | ? | 0x01D0 bit16 (1 = disable?) |
0xC6 | GL_BOOL | dmp_LightEnv.absLutInputRG | 0x0012C5D8 | ? | 0x01D0 bit17 (1 = disable?) |
0xC7 | GL_BOOL | dmp_LightEnv.absLutInputRR | 0x0012C5D8 | ? | 0x01D0 bit18 (1 = disable?) |
0xC8 | GL_INT | dmp_LightEnv.lutInputD0 | 0x0012C6E8 | ? | 0x01D1 bit0-2 |
0xC9 | GL_INT | dmp_LightEnv.lutInputD1 | 0x0012C6E8 | ? | 0x01D1 bit4-6 |
0xCA | GL_INT | dmp_LightEnv.lutInputSP | 0x0012C6E8 | ? | 0x01D1 bit8-10 |
0xCB | GL_INT | dmp_LightEnv.lutInputFR | 0x0012C6E8 | ? | 0x01D1 bit12-14 |
0xCC | GL_INT | dmp_LightEnv.lutInputRB | 0x0012C6E8 | ? | 0x01D1 bit16-18 |
0xCD | GL_INT | dmp_LightEnv.lutInputRG | 0x0012C6E8 | ? | 0x01D1 bit20-22 |
0xCE | GL_INT | dmp_LightEnv.lutInputRR | 0x0012C6E8 | ? | 0x01D1 bit24-26 |
0xCF | GL_FLOAT | dmp_LightEnv.lutScaleD0 | 0x00155404 | ? | 0x01D2 bit0-3 |
0xD0 | GL_FLOAT | dmp_LightEnv.lutScaleD1 | 0x00155404 | ? | 0x01D2 bit4-7 |
0xD1 | GL_FLOAT | dmp_LightEnv.lutScaleSP | 0x00155404 | ? | 0x01D2 bit8-11 |
0xD2 | GL_FLOAT | dmp_LightEnv.lutScaleFR | 0x00155404 | ? | 0x01D2 bit12-15 |
0xD3 | GL_FLOAT | dmp_LightEnv.lutScaleRB | 0x00155404 | ? | 0x01D2 bit16-19 |
0xD4 | GL_FLOAT | dmp_LightEnv.lutScaleRG | 0x00155404 | ? | 0x01D2 bit20-23 |
0xD5 | GL_FLOAT | dmp_LightEnv.lutScaleRR | 0x00155404 | ? | 0x01D2 bit24-27 |
0xD6 | GL_SAMPLER_1D | dmp_FragmentMaterial.samplerD0 | 0x0012C7D0 | ? | ? |
0xD7 | GL_SAMPLER_1D | dmp_FragmentMaterial.samplerD1 | 0x0012C7D0 | ? | ? |
0xD8 | GL_SAMPLER_1D | dmp_FragmentMaterial.samplerFR | 0x0012C7D0 | ? | ? |
0xD9 | GL_SAMPLER_1D | dmp_FragmentMaterial.samplerRB | 0x0012C7D0 | ? | ? |
0xDA | GL_SAMPLER_1D | dmp_FragmentMaterial.samplerRG | 0x0012C7D0 | ? | ? |
0xDB | GL_SAMPLER_1D | dmp_FragmentMaterial.samplerRR | 0x0012C7D0 | ? | ? |
0xDC | GL_INT | dmp_LightEnv.shadowSelector | 0x0012CE44 | ? | 0x01C3 bit24-25 |
0xDD | GL_INT | dmp_LightEnv.bumpSelector | 0x0012CD88 | ? | 0x01C3 bit22-23 |
0xDE | GL_INT | dmp_LightEnv.bumpMode | 0x0012D4B4 | ? | ? |
0xDF | GL_BOOL | dmp_LightEnv.bumpRenorm | 0x0012D8A0 | ? | ? |
0xE0 | GL_INT | dmp_LightEnv.config | 0x0012D5E4 | ? | ? |
0xE1 | GL_BOOL | dmp_LightEnv.invertShadow | 0x0012CF04 | ? | ? |
0xE2 | GL_BOOL | dmp_LightEnv.shadowPrimary | 0x0012CFD4 | ? | ? |
0xE3 | GL_BOOL | dmp_LightEnv.shadowSecondary | 0x0012D1B8 | ? | ? |
0xE4 | GL_BOOL | dmp_LightEnv.shadowAlpha | 0x0012D350 | ? | ? |
0xE5 | GL_INT | dmp_LightEnv.fresnelSelector | 0x0012D720 | ? | ? |
0xE6 | GL_BOOL | dmp_LightEnv.clampHighlights | 0x0012D9B0 | ? | ? |
0xE7 | GL_BOOL | dmp_LightEnv.lutEnabledD0 | 0x0012DA80 | ? | ? |
0xE8 | GL_BOOL | dmp_LightEnv.lutEnabledD1 | 0x0012DB58 | ? | ? |
0xE9 | GL_BOOL | dmp_LightEnv.lutEnabledRefl | 0x0012C83C | ? | ? |
0xEA | GL_INT | dmp_TexEnv[0].combineRgb | 0x0012DC2C | ? | 0xC2 |
0xEB | GL_INT | dmp_TexEnv[1].combineRgb | 0x0012DC2C | ? | 0xCA |
0xEC | GL_INT | dmp_TexEnv[2].combineRgb | 0x0012DC2C | ? | 0xD2 |
0xED | GL_INT | dmp_TexEnv[3].combineRgb | 0x0012DC2C | ? | 0xDA |
0xEE | GL_INT | dmp_TexEnv[4].combineRgb | 0x0012DC2C | ? | 0xF2 |
0xEF | GL_INT | dmp_TexEnv[5].combineRgb | 0x0012DC2C | ? | 0xFA |
0xF0 | GL_INT | dmp_TexEnv[0].combineAlpha | 0x0012DD9C | ? | 0xC2 |
0xF1 | GL_INT | dmp_TexEnv[1].combineAlpha | 0x0012DD9C | ? | 0xCA |
0xF2 | GL_INT | dmp_TexEnv[2].combineAlpha | 0x0012DD9C | ? | 0xD2 |
0xF3 | GL_INT | dmp_TexEnv[3].combineAlpha | 0x0012DD9C | ? | 0xDA |
0xF4 | GL_INT | dmp_TexEnv[4].combineAlpha | 0x0012DD9C | ? | 0xF2 |
0xF5 | GL_INT | dmp_TexEnv[5].combineAlpha | 0x0012DD9C | ? | 0xFA |
0xF6 | GL_INT_VEC3 | dmp_TexEnv[0].srcRgb | 0x0012DF08 | ? | 0xC0 |
0xF7 | GL_INT_VEC3 | dmp_TexEnv[1].srcRgb | 0x0012DF08 | ? | 0xC8 |
0xF8 | GL_INT_VEC3 | dmp_TexEnv[2].srcRgb | 0x0012DF08 | ? | 0xD0 |
0xF9 | GL_INT_VEC3 | dmp_TexEnv[3].srcRgb | 0x0012DF08 | ? | 0xD8 |
0xFA | GL_INT_VEC3 | dmp_TexEnv[4].srcRgb | 0x0012DF08 | ? | 0xF0 |
0xFB | GL_INT_VEC3 | dmp_TexEnv[5].srcRgb | 0x0012DF08 | ? | 0xF8 |
0xFC | GL_INT_VEC3 | dmp_TexEnv[0].srcAlpha | 0x0012E0FC | ? | 0xC0 |
0xFD | GL_INT_VEC3 | dmp_TexEnv[1].srcAlpha | 0x0012E0FC | ? | 0xC8 |
0xFE | GL_INT_VEC3 | dmp_TexEnv[2].srcAlpha | 0x0012E0FC | ? | 0xD0 |
0xFF | GL_INT_VEC3 | dmp_TexEnv[3].srcAlpha | 0x0012E0FC | ? | 0xD8 |
0x100 | GL_INT_VEC3 | dmp_TexEnv[4].srcAlpha | 0x0012E0FC | ? | 0xF0 |
0x101 | GL_INT_VEC3 | dmp_TexEnv[5].srcAlpha | 0x0012E0FC | ? | 0xF8 |
0x102 | GL_INT_VEC3 | dmp_TexEnv[0].operandRgb | 0x0012E2F0 | ? | 0xC1 |
0x103 | GL_INT_VEC3 | dmp_TexEnv[1].operandRgb | 0x0012E2F0 | ? | 0xC9 |
0x104 | GL_INT_VEC3 | dmp_TexEnv[2].operandRgb | 0x0012E2F0 | ? | 0xD1 |
0x105 | GL_INT_VEC3 | dmp_TexEnv[3].operandRgb | 0x0012E2F0 | ? | 0xD9 |
0x106 | GL_INT_VEC3 | dmp_TexEnv[4].operandRgb | 0x0012E2F0 | ? | 0xF1 |
0x107 | GL_INT_VEC3 | dmp_TexEnv[5].operandRgb | 0x0012E2F0 | ? | 0xF9 |
0x108 | GL_INT_VEC3 | dmp_TexEnv[0].operandAlpha | 0x0012E51C | ? | 0xC1 |
0x109 | GL_INT_VEC3 | dmp_TexEnv[1].operandAlpha | 0x0012E51C | ? | 0xC9 |
0x10A | GL_INT_VEC3 | dmp_TexEnv[2].operandAlpha | 0x0012E51C | ? | 0xD1 |
0x10B | GL_INT_VEC3 | dmp_TexEnv[3].operandAlpha | 0x0012E51C | ? | 0xD9 |
0x10C | GL_INT_VEC3 | dmp_TexEnv[4].operandAlpha | 0x0012E51C | ? | 0xF1 |
0x10D | GL_INT_VEC3 | dmp_TexEnv[5].operandAlpha | 0x0012E51C | ? | 0xF9 |
0x10E | GL_FLOAT | dmp_TexEnv[0].scaleRgb | 0x00155464 | ? | ? |
0x10F | GL_FLOAT | dmp_TexEnv[1].scaleRgb | 0x00155464 | ? | ? |
0x110 | GL_FLOAT | dmp_TexEnv[2].scaleRgb | 0x00155464 | ? | ? |
0x111 | GL_FLOAT | dmp_TexEnv[3].scaleRgb | 0x00155464 | ? | ? |
0x112 | GL_FLOAT | dmp_TexEnv[4].scaleRgb | 0x00155464 | ? | ? |
0x113 | GL_FLOAT | dmp_TexEnv[5].scaleRgb | 0x00155464 | ? | ? |
0x114 | GL_FLOAT | dmp_TexEnv[0].scaleAlpha | 0x00158EDC | ? | ? |
0x115 | GL_FLOAT | dmp_TexEnv[1].scaleAlpha | 0x00158EDC | ? | ? |
0x116 | GL_FLOAT | dmp_TexEnv[2].scaleAlpha | 0x00158EDC | ? | ? |
0x117 | GL_FLOAT | dmp_TexEnv[3].scaleAlpha | 0x00158EDC | ? | ? |
0x118 | GL_FLOAT | dmp_TexEnv[4].scaleAlpha | 0x00158EDC | ? | ? |
0x119 | GL_FLOAT | dmp_TexEnv[5].scaleAlpha | 0x00158EDC | ? | ? |
0x11A | GL_FLOAT_VEC4 | dmp_TexEnv[0].constRgba | 0x00158FF4 | ? | 0xC3 |
0x11B | GL_FLOAT_VEC4 | dmp_TexEnv[1].constRgba | 0x00158FF4 | ? | 0xCB |
0x11C | GL_FLOAT_VEC4 | dmp_TexEnv[2].constRgba | 0x00158FF4 | ? | 0xD3 |
0x11D | GL_FLOAT_VEC4 | dmp_TexEnv[3].constRgba | 0x00158FF4 | ? | 0xDB |
0x11E | GL_FLOAT_VEC4 | dmp_TexEnv[4].constRgba | 0x00158FF4 | ? | 0xF3 |
0x11F | GL_FLOAT_VEC4 | dmp_TexEnv[5].constRgba | 0x00158FF4 | ? | 0xFB |
0x120 | GL_FLOAT_VEC4 | dmp_TexEnv[0].bufferColor | 0x001591C0 | ? | ? |
0x121 | GL_INT_VEC2 | dmp_TexEnv[1].bufferInput | 0x0012E6D0 | ? | ? |
0x122 | GL_INT_VEC2 | dmp_TexEnv[2].bufferInput | 0x0012E6D0 | ? | ? |
0x123 | GL_INT_VEC2 | dmp_TexEnv[3].bufferInput | 0x0012E6D0 | ? | ? |
0x124 | GL_INT_VEC2 | dmp_TexEnv[4].bufferInput | 0x0012E6D0 | ? | ? |
0x125 | GL_INT | dmp_Fog.mode | 0x0012E7F8 | ? | 0x00E0 bit0-2 (5 -> fog (0x0B60), 7 -> gas (0x6050)) |
0x126 | GL_FLOAT_VEC3 | dmp_Fog.color | 0x00159338 | ? | ? |
0x127 | GL_BOOL | dmp_Fog.zFlip | 0x0012E9DC | ? | 0x00E0 bit16 |
0x128 | GL_SAMPLER_1D | dmp_Fog.sampler | 0x0012EAA4 | ? | ? |
On steeldiver's uniform handlers : R1 is a pointer to the current shader program object, R12 is a pointer to the data the uniform is being set to.
Other Symbols[edit]
The list above is not exhaustive. A number of other strings specific to Nintendo's rendering framework have been found. Below is a table listing those strings including the location they were found in.
Name | Context | Occurrence |
---|---|---|
dmp_Point.viewport.xy | Name of a shader uniform | CTRAging's romfs:/gpu/GasCessna/shader.shbin |
dmp_Point.distanceAttenuation | Name of a shader uniform | CTRAging's romfs:/gpu/GasCessna/shader.shbin |
dmp_Point.Position | Name of a shader uniform | CTRAging's romfs:/gpu/GasCessna/shader.shbin |
dmp_Point.PointSize | Name of a shader uniform | CTRAging's romfs:/gpu/GasCessna/shader.shbin |