Difference between revisions of "Nintendo OpenGL"
m (→Description) |
|||
(26 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
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. | 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 == | == 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 38: | Line 39: | ||
| 0x04 | | 0x04 | ||
| Number of program-specific uniforms | | Number of program-specific uniforms | ||
+ | |- | ||
+ | | 0x414 | ||
+ | | 0x04 | ||
+ | | Pointer to vertex shader struct | ||
|- | |- | ||
| 0x64C | | 0x64C | ||
Line 101: | 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 109: | 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 123: | Line 151: | ||
! Type | ! Type | ||
! Name | ! Name | ||
− | ! Handler address | + | ! Handler address (Steeldiver : Sub Wars) |
+ | ! Shader Program struct offset | ||
+ | ! GPU Register | ||
|- | |- | ||
| 0x0 | | 0x0 | ||
Line 129: | Line 159: | ||
| dmp_Texture[0].perspectiveShadow | | dmp_Texture[0].perspectiveShadow | ||
| 0x0012A504 | | 0x0012A504 | ||
+ | | ? | ||
+ | | 0x008B bit0 (0 = enable??) | ||
|- | |- | ||
| 0x1 | | 0x1 | ||
Line 134: | Line 166: | ||
| dmp_Texture[0].shadowZBias | | dmp_Texture[0].shadowZBias | ||
| 0x00155584 | | 0x00155584 | ||
+ | | 0xE44 | ||
+ | | ? | ||
|- | |- | ||
| 0x2 | | 0x2 | ||
Line 139: | Line 173: | ||
| dmp_Texture[0].shadowZScale | | dmp_Texture[0].shadowZScale | ||
| 0x001556A0 | | 0x001556A0 | ||
+ | | 0xE48 | ||
+ | | ? | ||
|- | |- | ||
| 0x3 | | 0x3 | ||
Line 144: | Line 180: | ||
| dmp_Texture[0].samplerType | | dmp_Texture[0].samplerType | ||
| 0x0012A5D0 | | 0x0012A5D0 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0x4 | | 0x4 | ||
Line 149: | Line 187: | ||
| dmp_Texture[1].samplerType | | dmp_Texture[1].samplerType | ||
| 0x0012A6F8 | | 0x0012A6F8 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0x5 | | 0x5 | ||
Line 154: | Line 194: | ||
| dmp_Texture[2].samplerType | | dmp_Texture[2].samplerType | ||
| 0x0012A774 | | 0x0012A774 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0x6 | | 0x6 | ||
Line 159: | Line 201: | ||
| dmp_Texture[3].samplerType | | dmp_Texture[3].samplerType | ||
| 0x0012A7F0 | | 0x0012A7F0 | ||
+ | | ? | ||
+ | | 0x0080 bit10 (?) | ||
|- | |- | ||
| 0x7 | | 0x7 | ||
Line 164: | Line 208: | ||
| dmp_Texture[2].texcoord | | dmp_Texture[2].texcoord | ||
| 0x0012A8B4 | | 0x0012A8B4 | ||
+ | | ? | ||
+ | | 0x0080 bit13 (1 = use texcoords from texture unit 1) | ||
|- | |- | ||
| 0x8 | | 0x8 | ||
Line 169: | 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 174: | Line 222: | ||
| dmp_Texture[3].ptRgbMap | | dmp_Texture[3].ptRgbMap | ||
| 0x0012AA54 | | 0x0012AA54 | ||
+ | | ? | ||
+ | | 0x00A8 bit6-9 | ||
|- | |- | ||
| 0xA | | 0xA | ||
Line 179: | Line 229: | ||
| dmp_Texture[3].ptAlphaMap | | dmp_Texture[3].ptAlphaMap | ||
| 0x0012AB94 | | 0x0012AB94 | ||
+ | | ? | ||
+ | | 0x00A8 bit10-13 | ||
|- | |- | ||
| 0xB | | 0xB | ||
Line 184: | Line 236: | ||
| dmp_Texture[3].ptAlphaSeparate | | dmp_Texture[3].ptAlphaSeparate | ||
| 0x0012ACD4 | | 0x0012ACD4 | ||
+ | | ? | ||
+ | | 0x00A8 bit14 | ||
|- | |- | ||
| 0xC | | 0xC | ||
Line 189: | Line 243: | ||
| dmp_Texture[3].ptClampU | | dmp_Texture[3].ptClampU | ||
| 0x0012ADB8 | | 0x0012ADB8 | ||
+ | | ? | ||
+ | | 0x00A8 bit0-2 | ||
|- | |- | ||
| 0xD | | 0xD | ||
Line 194: | Line 250: | ||
| dmp_Texture[3].ptClampV | | dmp_Texture[3].ptClampV | ||
| 0x0012AEC0 | | 0x0012AEC0 | ||
+ | | ? | ||
+ | | 0x00A8 bit3-5 | ||
|- | |- | ||
| 0xE | | 0xE | ||
Line 199: | Line 257: | ||
| dmp_Texture[3].ptShiftU | | dmp_Texture[3].ptShiftU | ||
| 0x0012AFD0 | | 0x0012AFD0 | ||
+ | | ? | ||
+ | | 0x00A8 bit16-17 | ||
|- | |- | ||
| 0xF | | 0xF | ||
Line 204: | Line 264: | ||
| dmp_Texture[3].ptShiftV | | dmp_Texture[3].ptShiftV | ||
| 0x0012B0A0 | | 0x0012B0A0 | ||
+ | | ? | ||
+ | | 0x00A8 bit18-19 | ||
|- | |- | ||
| 0x10 | | 0x10 | ||
Line 209: | Line 271: | ||
| dmp_Texture[3].ptMinFilter | | dmp_Texture[3].ptMinFilter | ||
| 0x0012B168 | | 0x0012B168 | ||
+ | | ? | ||
+ | | 0x00AC bit0-2 | ||
|- | |- | ||
| 0x11 | | 0x11 | ||
Line 214: | Line 278: | ||
| dmp_Texture[3].ptTexWidth | | dmp_Texture[3].ptTexWidth | ||
| 0x0012B270 | | 0x0012B270 | ||
+ | | ? | ||
+ | | 0x00AC bit11-18 | ||
|- | |- | ||
| 0x12 | | 0x12 | ||
Line 219: | Line 285: | ||
| dmp_Texture[3].ptTexOffset | | dmp_Texture[3].ptTexOffset | ||
| 0x0012B334 | | 0x0012B334 | ||
+ | | ? | ||
+ | | 0x00AD bit0-7 | ||
|- | |- | ||
| 0x13 | | 0x13 | ||
Line 224: | Line 292: | ||
| dmp_Texture[3].ptTexBias | | dmp_Texture[3].ptTexBias | ||
| 0x001556B4 | | 0x001556B4 | ||
+ | | 0xE10 | ||
+ | | 0x00A8 bit20-27 | ||
|- | |- | ||
| 0x14 | | 0x14 | ||
Line 229: | Line 299: | ||
| dmp_Texture[3].ptNoiseEnable | | dmp_Texture[3].ptNoiseEnable | ||
| 0x0012B3E0 | | 0x0012B3E0 | ||
+ | | ? | ||
+ | | 0x00A8 bit15 | ||
|- | |- | ||
| 0x15 | | 0x15 | ||
Line 234: | Line 306: | ||
| dmp_Texture[3].ptNoiseU | | dmp_Texture[3].ptNoiseU | ||
| 0x00155878 | | 0x00155878 | ||
+ | | 0xE14 | ||
+ | | 0x00A9, 0x00AB | ||
|- | |- | ||
| 0x16 | | 0x16 | ||
Line 239: | Line 313: | ||
| dmp_Texture[3].ptNoiseV | | dmp_Texture[3].ptNoiseV | ||
| 0x00155A7C | | 0x00155A7C | ||
+ | | 0xE20 | ||
+ | | 0x00AA, 0x00AB | ||
|- | |- | ||
| 0x17 | | 0x17 | ||
Line 244: | Line 320: | ||
| dmp_Texture[3].ptSamplerRgbMap | | dmp_Texture[3].ptSamplerRgbMap | ||
| 0x0012B4B0 | | 0x0012B4B0 | ||
+ | | 0xDF0 | ||
+ | | ? | ||
|- | |- | ||
| 0x18 | | 0x18 | ||
Line 249: | Line 327: | ||
| dmp_Texture[3].ptSamplerAlphaMap | | dmp_Texture[3].ptSamplerAlphaMap | ||
| 0x0012B4F4 | | 0x0012B4F4 | ||
+ | | 0xDF4 | ||
+ | | ? | ||
|- | |- | ||
| 0x19 | | 0x19 | ||
Line 254: | Line 334: | ||
| dmp_Texture[3].ptSamplerNoiseMap | | dmp_Texture[3].ptSamplerNoiseMap | ||
| 0x0012B540 | | 0x0012B540 | ||
+ | | 0xDF8 | ||
+ | | ? | ||
|- | |- | ||
| 0x1A | | 0x1A | ||
Line 259: | Line 341: | ||
| dmp_Texture[3].ptSamplerR | | dmp_Texture[3].ptSamplerR | ||
| 0x0012B58C | | 0x0012B58C | ||
+ | | 0xDFC | ||
+ | | ? | ||
|- | |- | ||
| 0x1B | | 0x1B | ||
Line 264: | Line 348: | ||
| dmp_Texture[3].ptSamplerG | | dmp_Texture[3].ptSamplerG | ||
| 0x0012B5D8 | | 0x0012B5D8 | ||
+ | | 0xE00 | ||
+ | | ? | ||
|- | |- | ||
| 0x1C | | 0x1C | ||
Line 269: | Line 355: | ||
| dmp_Texture[3].ptSamplerB | | dmp_Texture[3].ptSamplerB | ||
| 0x0012B624 | | 0x0012B624 | ||
+ | | 0xE04 | ||
+ | | ? | ||
|- | |- | ||
| 0x1D | | 0x1D | ||
Line 274: | Line 362: | ||
| dmp_Texture[3].ptSamplerA | | dmp_Texture[3].ptSamplerA | ||
| 0x0012B670 | | 0x0012B670 | ||
+ | | 0xE08 | ||
+ | | ? | ||
|- | |- | ||
| 0x1E | | 0x1E | ||
Line 279: | Line 369: | ||
| dmp_FragOperation.mode | | dmp_FragOperation.mode | ||
| 0x0012B6BC | | 0x0012B6BC | ||
+ | | 0xE38 | ||
+ | | ? | ||
|- | |- | ||
| 0x1F | | 0x1F | ||
Line 284: | Line 376: | ||
| dmp_FragOperation.penumbraScale | | dmp_FragOperation.penumbraScale | ||
| 0x00155C98 | | 0x00155C98 | ||
+ | | 0xE40 | ||
+ | | ? | ||
|- | |- | ||
| 0x20 | | 0x20 | ||
Line 289: | Line 383: | ||
| dmp_FragOperation.penumbraBias | | dmp_FragOperation.penumbraBias | ||
| 0x00155D8C | | 0x00155D8C | ||
+ | | 0xE3C | ||
+ | | ? | ||
|- | |- | ||
| 0x21 | | 0x21 | ||
Line 294: | Line 390: | ||
| dmp_FragOperation.wScale | | dmp_FragOperation.wScale | ||
| 0x00155E9C | | 0x00155E9C | ||
+ | | 0xE4C | ||
+ | | ? | ||
|- | |- | ||
| 0x22 | | 0x22 | ||
Line 299: | Line 397: | ||
| dmp_FragOperation.enableClippingPlane | | dmp_FragOperation.enableClippingPlane | ||
| 0x0012EAEC | | 0x0012EAEC | ||
+ | | 0x568 | ||
+ | | 0x0047 bit0 | ||
|- | |- | ||
| 0x23 | | 0x23 | ||
Line 304: | Line 404: | ||
| dmp_FragOperation.clippingPlane | | dmp_FragOperation.clippingPlane | ||
| 0x00159474 | | 0x00159474 | ||
+ | | 0xE50 | ||
+ | | ? | ||
|- | |- | ||
| 0x24 | | 0x24 | ||
Line 309: | Line 411: | ||
| dmp_FragOperation.enableAlphaTest | | dmp_FragOperation.enableAlphaTest | ||
| 0x0012EBAC | | 0x0012EBAC | ||
+ | | 0x64C | ||
+ | | ? | ||
|- | |- | ||
| 0x25 | | 0x25 | ||
Line 314: | Line 418: | ||
| dmp_FragOperation.alphaTestFunc | | dmp_FragOperation.alphaTestFunc | ||
| 0x0012EC64 | | 0x0012EC64 | ||
+ | | 0x64C | ||
+ | | ? | ||
|- | |- | ||
| 0x26 | | 0x26 | ||
Line 319: | Line 425: | ||
| dmp_FragOperation.alphaRefValue | | dmp_FragOperation.alphaRefValue | ||
| 0x0015971C | | 0x0015971C | ||
+ | | 0x64C ? | ||
+ | | ? | ||
|- | |- | ||
| 0x27 | | 0x27 | ||
Line 324: | 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 329: | 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 334: | Line 446: | ||
| dmp_Gas.deltaZ | | dmp_Gas.deltaZ | ||
| 0x001564D4 | | 0x001564D4 | ||
+ | | 0xEA0 | ||
+ | | 0x0126 bit0-23 | ||
|- | |- | ||
| 0x2A | | 0x2A | ||
Line 339: | Line 453: | ||
| dmp_Gas.accMax | | dmp_Gas.accMax | ||
| 0x001565C0 | | 0x001565C0 | ||
+ | | 0xEA4 | ||
+ | | 0x00E5 | ||
|- | |- | ||
| 0x2B | | 0x2B | ||
Line 344: | Line 460: | ||
| dmp_Gas.autoAcc | | dmp_Gas.autoAcc | ||
| 0x0012B790 | | 0x0012B790 | ||
+ | | 0xE74 | ||
+ | | ? | ||
|- | |- | ||
| 0x2C | | 0x2C | ||
Line 349: | Line 467: | ||
| dmp_Gas.attenuation | | dmp_Gas.attenuation | ||
| 0x00156684 | | 0x00156684 | ||
+ | | 0xEA8 | ||
+ | | 0x00E4 | ||
|- | |- | ||
| 0x2D | | 0x2D | ||
Line 354: | Line 474: | ||
| dmp_Gas.colorLutInput | | dmp_Gas.colorLutInput | ||
| 0x0012B7A4 | | 0x0012B7A4 | ||
+ | | 0x640 | ||
+ | | 0x0122 bit8 (0x6060/0x6061 -> 0/1) | ||
|- | |- | ||
| 0x2E | | 0x2E | ||
Line 359: | Line 481: | ||
| dmp_Gas.shadingDensitySrc | | dmp_Gas.shadingDensitySrc | ||
| 0x0012B854 | | 0x0012B854 | ||
+ | | 0x624 | ||
+ | | 0x00E0 bit3 (0x605E/0x605F -> 0/1) | ||
|- | |- | ||
| 0x2F | | 0x2F | ||
Line 364: | Line 488: | ||
| dmp_Gas.samplerTR | | dmp_Gas.samplerTR | ||
| 0x0012B910 | | 0x0012B910 | ||
+ | | 0xE78 | ||
+ | | ? | ||
|- | |- | ||
| 0x30 | | 0x30 | ||
Line 369: | Line 495: | ||
| dmp_Gas.samplerTG | | dmp_Gas.samplerTG | ||
| 0x0012B95C | | 0x0012B95C | ||
+ | | 0xE7C | ||
+ | | ? | ||
|- | |- | ||
| 0x31 | | 0x31 | ||
Line 374: | Line 502: | ||
| dmp_Gas.samplerTB | | dmp_Gas.samplerTB | ||
| 0x0012B9A8 | | 0x0012B9A8 | ||
+ | | 0xE80 | ||
+ | | ? | ||
|- | |- | ||
| 0x32 | | 0x32 | ||
Line 379: | Line 509: | ||
| dmp_FragmentLighting.enabled | | dmp_FragmentLighting.enabled | ||
| 0x0012B9F4 | | 0x0012B9F4 | ||
+ | | 0x590 | ||
+ | | 0x00A8 bit0, 0x01C6 (0 = enabled) | ||
|- | |- | ||
| 0x33 | | 0x33 | ||
Line 384: | Line 516: | ||
| dmp_FragmentLighting.ambient | | dmp_FragmentLighting.ambient | ||
| 0x00156744 | | 0x00156744 | ||
+ | | 0xA10 | ||
+ | | 0x01C0? | ||
|- | |- | ||
| 0x34 | | 0x34 | ||
Line 389: | Line 523: | ||
| dmp_FragmentMaterial.emission | | dmp_FragmentMaterial.emission | ||
| 0x00156E1C | | 0x00156E1C | ||
+ | | 0xDE0 | ||
+ | | 0x01C0? | ||
|- | |- | ||
| 0x35 | | 0x35 | ||
Line 394: | Line 530: | ||
| dmp_FragmentMaterial.ambient | | dmp_FragmentMaterial.ambient | ||
| 0x0015696C | | 0x0015696C | ||
+ | | 0xDA0 | ||
+ | | 0x01C0 | ||
|- | |- | ||
| 0x36 | | 0x36 | ||
Line 399: | Line 537: | ||
| dmp_FragmentMaterial.diffuse | | dmp_FragmentMaterial.diffuse | ||
| 0x00157048 | | 0x00157048 | ||
+ | | 0xDB0 | ||
+ | | ? | ||
|- | |- | ||
| 0x37 | | 0x37 | ||
Line 404: | Line 544: | ||
| dmp_FragmentMaterial.specular0 | | dmp_FragmentMaterial.specular0 | ||
| 0x001572E0 | | 0x001572E0 | ||
+ | | 0xDC0 | ||
+ | | ? | ||
|- | |- | ||
| 0x38 | | 0x38 | ||
Line 409: | Line 551: | ||
| dmp_FragmentMaterial.specular1 | | dmp_FragmentMaterial.specular1 | ||
| 0x0015756C | | 0x0015756C | ||
+ | | 0xDD0 | ||
+ | | ? | ||
|- | |- | ||
| 0x39 | | 0x39 | ||
Line 414: | Line 558: | ||
| dmp_FragmentLightSource[0].enabled | | dmp_FragmentLightSource[0].enabled | ||
| 0x0012BD24 | | 0x0012BD24 | ||
+ | | 0xA20+0*0x70+0x00 | ||
+ | | 0x01C5 | ||
|- | |- | ||
| 0x3A | | 0x3A | ||
Line 419: | Line 565: | ||
| dmp_FragmentLightSource[1].enabled | | dmp_FragmentLightSource[1].enabled | ||
| 0x0012BD24 | | 0x0012BD24 | ||
+ | | 0xA20+1*0x70+0x00 | ||
+ | | 0x01C5 | ||
|- | |- | ||
| 0x3B | | 0x3B | ||
Line 424: | Line 572: | ||
| dmp_FragmentLightSource[2].enabled | | dmp_FragmentLightSource[2].enabled | ||
| 0x0012BD24 | | 0x0012BD24 | ||
+ | | 0xA20+2*0x70+0x00 | ||
+ | | 0x01C5 | ||
|- | |- | ||
| 0x3C | | 0x3C | ||
Line 429: | Line 579: | ||
| dmp_FragmentLightSource[3].enabled | | dmp_FragmentLightSource[3].enabled | ||
| 0x0012BD24 | | 0x0012BD24 | ||
+ | | 0xA20+3*0x70+0x00 | ||
+ | | 0x01C5 | ||
|- | |- | ||
| 0x3D | | 0x3D | ||
Line 434: | Line 586: | ||
| dmp_FragmentLightSource[4].enabled | | dmp_FragmentLightSource[4].enabled | ||
| 0x0012BD24 | | 0x0012BD24 | ||
+ | | 0xA20+4*0x70+0x00 | ||
+ | | 0x01C5 | ||
|- | |- | ||
| 0x3E | | 0x3E | ||
Line 439: | Line 593: | ||
| dmp_FragmentLightSource[5].enabled | | dmp_FragmentLightSource[5].enabled | ||
| 0x0012BD24 | | 0x0012BD24 | ||
+ | | 0xA20+5*0x70+0x00 | ||
+ | | 0x01C5 | ||
|- | |- | ||
| 0x3F | | 0x3F | ||
Line 444: | Line 600: | ||
| dmp_FragmentLightSource[6].enabled | | dmp_FragmentLightSource[6].enabled | ||
| 0x0012BD24 | | 0x0012BD24 | ||
+ | | 0xA20+6*0x70+0x00 | ||
+ | | 0x01C5 | ||
|- | |- | ||
| 0x40 | | 0x40 | ||
Line 449: | Line 607: | ||
| dmp_FragmentLightSource[7].enabled | | dmp_FragmentLightSource[7].enabled | ||
| 0x0012BD24 | | 0x0012BD24 | ||
+ | | 0xA20+7*0x70+0x00 | ||
+ | | 0x01C5 | ||
|- | |- | ||
| 0x41 | | 0x41 | ||
Line 454: | Line 614: | ||
| dmp_FragmentLightSource[0].ambient | | dmp_FragmentLightSource[0].ambient | ||
| 0x001579CC | | 0x001579CC | ||
+ | | 0xA20+0*0x70+0x04 | ||
+ | | 0x0143 | ||
|- | |- | ||
| 0x42 | | 0x42 | ||
Line 459: | Line 621: | ||
| dmp_FragmentLightSource[1].ambient | | dmp_FragmentLightSource[1].ambient | ||
| 0x001579CC | | 0x001579CC | ||
+ | | 0xA20+1*0x70+0x04 | ||
+ | | 0x0153 | ||
|- | |- | ||
| 0x43 | | 0x43 | ||
Line 464: | Line 628: | ||
| dmp_FragmentLightSource[2].ambient | | dmp_FragmentLightSource[2].ambient | ||
| 0x001579CC | | 0x001579CC | ||
+ | | 0xA20+2*0x70+0x04 | ||
+ | | 0x0163 | ||
|- | |- | ||
| 0x44 | | 0x44 | ||
Line 469: | Line 635: | ||
| dmp_FragmentLightSource[3].ambient | | dmp_FragmentLightSource[3].ambient | ||
| 0x001579CC | | 0x001579CC | ||
+ | | 0xA20+3*0x70+0x04 | ||
+ | | 0x0173 | ||
|- | |- | ||
| 0x45 | | 0x45 | ||
Line 474: | Line 642: | ||
| dmp_FragmentLightSource[4].ambient | | dmp_FragmentLightSource[4].ambient | ||
| 0x001579CC | | 0x001579CC | ||
+ | | 0xA20+4*0x70+0x04 | ||
+ | | 0x0183 | ||
|- | |- | ||
| 0x46 | | 0x46 | ||
Line 479: | Line 649: | ||
| dmp_FragmentLightSource[5].ambient | | dmp_FragmentLightSource[5].ambient | ||
| 0x001579CC | | 0x001579CC | ||
+ | | 0xA20+5*0x70+0x04 | ||
+ | | 0x0193 | ||
|- | |- | ||
| 0x47 | | 0x47 | ||
Line 484: | Line 656: | ||
| dmp_FragmentLightSource[6].ambient | | dmp_FragmentLightSource[6].ambient | ||
| 0x001579CC | | 0x001579CC | ||
+ | | 0xA20+6*0x70+0x04 | ||
+ | | 0x01A3 | ||
|- | |- | ||
| 0x48 | | 0x48 | ||
Line 489: | Line 663: | ||
| dmp_FragmentLightSource[7].ambient | | dmp_FragmentLightSource[7].ambient | ||
| 0x001579CC | | 0x001579CC | ||
+ | | 0xA20+7*0x70+0x04 | ||
+ | | 0x01B3 | ||
|- | |- | ||
| 0x49 | | 0x49 | ||
Line 494: | Line 670: | ||
| dmp_FragmentLightSource[0].diffuse | | dmp_FragmentLightSource[0].diffuse | ||
| 0x00157C10 | | 0x00157C10 | ||
+ | | 0xA20+0*0x70+0x14 | ||
+ | | 0x0142 | ||
|- | |- | ||
| 0x4A | | 0x4A | ||
Line 499: | Line 677: | ||
| dmp_FragmentLightSource[1].diffuse | | dmp_FragmentLightSource[1].diffuse | ||
| 0x00157C10 | | 0x00157C10 | ||
+ | | 0xA20+1*0x70+0x14 | ||
+ | | 0x0152 | ||
|- | |- | ||
| 0x4B | | 0x4B | ||
Line 504: | Line 684: | ||
| dmp_FragmentLightSource[2].diffuse | | dmp_FragmentLightSource[2].diffuse | ||
| 0x00157C10 | | 0x00157C10 | ||
+ | | 0xA20+2*0x70+0x14 | ||
+ | | 0x0162 | ||
|- | |- | ||
| 0x4C | | 0x4C | ||
Line 509: | Line 691: | ||
| dmp_FragmentLightSource[3].diffuse | | dmp_FragmentLightSource[3].diffuse | ||
| 0x00157C10 | | 0x00157C10 | ||
+ | | 0xA20+3*0x70+0x14 | ||
+ | | 0x0172 | ||
|- | |- | ||
| 0x4D | | 0x4D | ||
Line 514: | Line 698: | ||
| dmp_FragmentLightSource[4].diffuse | | dmp_FragmentLightSource[4].diffuse | ||
| 0x00157C10 | | 0x00157C10 | ||
+ | | 0xA20+4*0x70+0x14 | ||
+ | | 0x0182 | ||
|- | |- | ||
| 0x4E | | 0x4E | ||
Line 519: | Line 705: | ||
| dmp_FragmentLightSource[5].diffuse | | dmp_FragmentLightSource[5].diffuse | ||
| 0x00157C10 | | 0x00157C10 | ||
+ | | 0xA20+5*0x70+0x14 | ||
+ | | 0x0192 | ||
|- | |- | ||
| 0x4F | | 0x4F | ||
Line 524: | Line 712: | ||
| dmp_FragmentLightSource[6].diffuse | | dmp_FragmentLightSource[6].diffuse | ||
| 0x00157C10 | | 0x00157C10 | ||
+ | | 0xA20+6*0x70+0x14 | ||
+ | | 0x01A2 | ||
|- | |- | ||
| 0x50 | | 0x50 | ||
Line 529: | Line 719: | ||
| dmp_FragmentLightSource[7].diffuse | | dmp_FragmentLightSource[7].diffuse | ||
| 0x00157C10 | | 0x00157C10 | ||
+ | | 0xA20+7*0x70+0x14 | ||
+ | | 0x01B2 | ||
|- | |- | ||
| 0x51 | | 0x51 | ||
Line 534: | Line 726: | ||
| dmp_FragmentLightSource[0].specular0 | | dmp_FragmentLightSource[0].specular0 | ||
| 0x00157E5C | | 0x00157E5C | ||
+ | | 0xA20+0*0x70+0x24 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x52 | | 0x52 | ||
Line 539: | Line 733: | ||
| dmp_FragmentLightSource[1].specular0 | | dmp_FragmentLightSource[1].specular0 | ||
| 0x00157E5C | | 0x00157E5C | ||
+ | | 0xA20+1*0x70+0x24 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x53 | | 0x53 | ||
Line 544: | Line 740: | ||
| dmp_FragmentLightSource[2].specular0 | | dmp_FragmentLightSource[2].specular0 | ||
| 0x00157E5C | | 0x00157E5C | ||
+ | | 0xA20+2*0x70+0x24 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x54 | | 0x54 | ||
Line 549: | Line 747: | ||
| dmp_FragmentLightSource[3].specular0 | | dmp_FragmentLightSource[3].specular0 | ||
| 0x00157E5C | | 0x00157E5C | ||
+ | | 0xA20+3*0x70+0x24 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x55 | | 0x55 | ||
Line 554: | Line 754: | ||
| dmp_FragmentLightSource[4].specular0 | | dmp_FragmentLightSource[4].specular0 | ||
| 0x00157E5C | | 0x00157E5C | ||
+ | | 0xA20+4*0x70+0x24 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x56 | | 0x56 | ||
Line 559: | Line 761: | ||
| dmp_FragmentLightSource[5].specular0 | | dmp_FragmentLightSource[5].specular0 | ||
| 0x00157E5C | | 0x00157E5C | ||
+ | | 0xA20+5*0x70+0x24 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x57 | | 0x57 | ||
Line 564: | Line 768: | ||
| dmp_FragmentLightSource[6].specular0 | | dmp_FragmentLightSource[6].specular0 | ||
| 0x00157E5C | | 0x00157E5C | ||
+ | | 0xA20+6*0x70+0x24 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x58 | | 0x58 | ||
Line 569: | Line 775: | ||
| dmp_FragmentLightSource[7].specular0 | | dmp_FragmentLightSource[7].specular0 | ||
| 0x00157E5C | | 0x00157E5C | ||
+ | | 0xA20+7*0x70+0x24 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x59 | | 0x59 | ||
Line 574: | Line 782: | ||
| dmp_FragmentLightSource[0].specular1 | | dmp_FragmentLightSource[0].specular1 | ||
| 0x001580B4 | | 0x001580B4 | ||
+ | | 0xA20+0*0x70+0x34 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x5A | | 0x5A | ||
Line 579: | Line 789: | ||
| dmp_FragmentLightSource[1].specular1 | | dmp_FragmentLightSource[1].specular1 | ||
| 0x001580B4 | | 0x001580B4 | ||
+ | | 0xA20+1*0x70+0x34 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x5B | | 0x5B | ||
Line 584: | Line 796: | ||
| dmp_FragmentLightSource[2].specular1 | | dmp_FragmentLightSource[2].specular1 | ||
| 0x001580B4 | | 0x001580B4 | ||
+ | | 0xA20+2*0x70+0x34 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x5C | | 0x5C | ||
Line 589: | Line 803: | ||
| dmp_FragmentLightSource[3].specular1 | | dmp_FragmentLightSource[3].specular1 | ||
| 0x001580B4 | | 0x001580B4 | ||
+ | | 0xA20+3*0x70+0x34 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x5D | | 0x5D | ||
Line 594: | Line 810: | ||
| dmp_FragmentLightSource[4].specular1 | | dmp_FragmentLightSource[4].specular1 | ||
| 0x001580B4 | | 0x001580B4 | ||
+ | | 0xA20+4*0x70+0x34 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x5E | | 0x5E | ||
Line 599: | Line 817: | ||
| dmp_FragmentLightSource[5].specular1 | | dmp_FragmentLightSource[5].specular1 | ||
| 0x001580B4 | | 0x001580B4 | ||
+ | | 0xA20+5*0x70+0x34 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x5F | | 0x5F | ||
Line 604: | Line 824: | ||
| dmp_FragmentLightSource[6].specular1 | | dmp_FragmentLightSource[6].specular1 | ||
| 0x001580B4 | | 0x001580B4 | ||
+ | | 0xA20+6*0x70+0x34 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x60 | | 0x60 | ||
Line 609: | Line 831: | ||
| dmp_FragmentLightSource[7].specular1 | | dmp_FragmentLightSource[7].specular1 | ||
| 0x001580B4 | | 0x001580B4 | ||
+ | | 0xA20+7*0x70+0x34 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x61 | | 0x61 | ||
Line 614: | Line 838: | ||
| dmp_FragmentLightSource[0].position | | dmp_FragmentLightSource[0].position | ||
| 0x001584B0 | | 0x001584B0 | ||
+ | | 0xA20+0*0x70+0x44 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x62 | | 0x62 | ||
Line 619: | Line 845: | ||
| dmp_FragmentLightSource[1].position | | dmp_FragmentLightSource[1].position | ||
| 0x001584B0 | | 0x001584B0 | ||
+ | | 0xA20+1*0x70+0x44 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x63 | | 0x63 | ||
Line 624: | Line 852: | ||
| dmp_FragmentLightSource[2].position | | dmp_FragmentLightSource[2].position | ||
| 0x001584B0 | | 0x001584B0 | ||
+ | | 0xA20+2*0x70+0x44 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x64 | | 0x64 | ||
Line 629: | Line 859: | ||
| dmp_FragmentLightSource[3].position | | dmp_FragmentLightSource[3].position | ||
| 0x001584B0 | | 0x001584B0 | ||
+ | | 0xA20+3*0x70+0x44 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x65 | | 0x65 | ||
Line 634: | Line 866: | ||
| dmp_FragmentLightSource[4].position | | dmp_FragmentLightSource[4].position | ||
| 0x001584B0 | | 0x001584B0 | ||
+ | | 0xA20+4*0x70+0x44 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x66 | | 0x66 | ||
Line 639: | Line 873: | ||
| dmp_FragmentLightSource[5].position | | dmp_FragmentLightSource[5].position | ||
| 0x001584B0 | | 0x001584B0 | ||
+ | | 0xA20+5*0x70+0x44 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x67 | | 0x67 | ||
Line 644: | Line 880: | ||
| dmp_FragmentLightSource[6].position | | dmp_FragmentLightSource[6].position | ||
| 0x001584B0 | | 0x001584B0 | ||
+ | | 0xA20+6*0x70+0x44 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x68 | | 0x68 | ||
Line 649: | Line 887: | ||
| dmp_FragmentLightSource[7].position | | dmp_FragmentLightSource[7].position | ||
| 0x001584B0 | | 0x001584B0 | ||
+ | | 0xA20+7*0x70+0x44 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x69 | | 0x69 | ||
Line 654: | Line 894: | ||
| dmp_FragmentLightSource[0].spotDirection | | dmp_FragmentLightSource[0].spotDirection | ||
| 0x001587E4 | | 0x001587E4 | ||
+ | | 0xA20+0*0x70+0x54 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x6A | | 0x6A | ||
Line 659: | Line 901: | ||
| dmp_FragmentLightSource[1].spotDirection | | dmp_FragmentLightSource[1].spotDirection | ||
| 0x001587E4 | | 0x001587E4 | ||
+ | | 0xA20+1*0x70+0x54 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x6B | | 0x6B | ||
Line 664: | Line 908: | ||
| dmp_FragmentLightSource[2].spotDirection | | dmp_FragmentLightSource[2].spotDirection | ||
| 0x001587E4 | | 0x001587E4 | ||
+ | | 0xA20+2*0x70+0x54 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x6C | | 0x6C | ||
Line 669: | Line 915: | ||
| dmp_FragmentLightSource[3].spotDirection | | dmp_FragmentLightSource[3].spotDirection | ||
| 0x001587E4 | | 0x001587E4 | ||
+ | | 0xA20+3*0x70+0x54 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x6D | | 0x6D | ||
Line 674: | Line 922: | ||
| dmp_FragmentLightSource[4].spotDirection | | dmp_FragmentLightSource[4].spotDirection | ||
| 0x001587E4 | | 0x001587E4 | ||
+ | | 0xA20+4*0x70+0x54 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x6E | | 0x6E | ||
Line 679: | Line 929: | ||
| dmp_FragmentLightSource[5].spotDirection | | dmp_FragmentLightSource[5].spotDirection | ||
| 0x001587E4 | | 0x001587E4 | ||
+ | | 0xA20+5*0x70+0x54 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x6F | | 0x6F | ||
Line 684: | Line 936: | ||
| dmp_FragmentLightSource[6].spotDirection | | dmp_FragmentLightSource[6].spotDirection | ||
| 0x001587E4 | | 0x001587E4 | ||
+ | | 0xA20+6*0x70+0x54 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x70 | | 0x70 | ||
Line 689: | Line 943: | ||
| dmp_FragmentLightSource[7].spotDirection | | dmp_FragmentLightSource[7].spotDirection | ||
| 0x001587E4 | | 0x001587E4 | ||
+ | | 0xA20+7*0x70+0x54 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x71 | | 0x71 | ||
Line 694: | Line 950: | ||
| dmp_FragmentLightSource[0].shadowed | | dmp_FragmentLightSource[0].shadowed | ||
| 0x0012C20C | | 0x0012C20C | ||
+ | | 0x7C0 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x72 | | 0x72 | ||
Line 699: | Line 957: | ||
| dmp_FragmentLightSource[1].shadowed | | dmp_FragmentLightSource[1].shadowed | ||
| 0x0012C20C | | 0x0012C20C | ||
+ | | 0x7C0 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x73 | | 0x73 | ||
Line 704: | Line 964: | ||
| dmp_FragmentLightSource[2].shadowed | | dmp_FragmentLightSource[2].shadowed | ||
| 0x0012C20C | | 0x0012C20C | ||
+ | | 0x7C0 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x74 | | 0x74 | ||
Line 709: | Line 971: | ||
| dmp_FragmentLightSource[3].shadowed | | dmp_FragmentLightSource[3].shadowed | ||
| 0x0012C20C | | 0x0012C20C | ||
+ | | 0x7C0 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x75 | | 0x75 | ||
Line 714: | Line 978: | ||
| dmp_FragmentLightSource[4].shadowed | | dmp_FragmentLightSource[4].shadowed | ||
| 0x0012C20C | | 0x0012C20C | ||
+ | | 0x7C0 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x76 | | 0x76 | ||
Line 719: | Line 985: | ||
| dmp_FragmentLightSource[5].shadowed | | dmp_FragmentLightSource[5].shadowed | ||
| 0x0012C20C | | 0x0012C20C | ||
+ | | 0x7C0 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x77 | | 0x77 | ||
Line 724: | Line 992: | ||
| dmp_FragmentLightSource[6].shadowed | | dmp_FragmentLightSource[6].shadowed | ||
| 0x0012C20C | | 0x0012C20C | ||
+ | | 0x7C0 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x78 | | 0x78 | ||
Line 729: | Line 999: | ||
| dmp_FragmentLightSource[7].shadowed | | dmp_FragmentLightSource[7].shadowed | ||
| 0x0012C20C | | 0x0012C20C | ||
+ | | 0x7C0 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x79 | | 0x79 | ||
Line 734: | Line 1,006: | ||
| dmp_FragmentLightSource[0].geomFactor0 | | dmp_FragmentLightSource[0].geomFactor0 | ||
| 0x0012C018 | | 0x0012C018 | ||
+ | | 0x7D8 | ||
+ | | 0x0149 bit2 | ||
|- | |- | ||
| 0x7A | | 0x7A | ||
Line 739: | Line 1,013: | ||
| dmp_FragmentLightSource[1].geomFactor0 | | dmp_FragmentLightSource[1].geomFactor0 | ||
| 0x0012C018 | | 0x0012C018 | ||
+ | | 0x7D8 | ||
+ | | 0x0159 bit2 | ||
|- | |- | ||
| 0x7B | | 0x7B | ||
Line 744: | Line 1,020: | ||
| dmp_FragmentLightSource[2].geomFactor0 | | dmp_FragmentLightSource[2].geomFactor0 | ||
| 0x0012C018 | | 0x0012C018 | ||
+ | | 0x7D8 | ||
+ | | 0x0169 bit2 | ||
|- | |- | ||
| 0x7C | | 0x7C | ||
Line 749: | Line 1,027: | ||
| dmp_FragmentLightSource[3].geomFactor0 | | dmp_FragmentLightSource[3].geomFactor0 | ||
| 0x0012C018 | | 0x0012C018 | ||
+ | | 0x7D8 | ||
+ | | 0x0179 bit2 | ||
|- | |- | ||
| 0x7D | | 0x7D | ||
Line 754: | Line 1,034: | ||
| dmp_FragmentLightSource[4].geomFactor0 | | dmp_FragmentLightSource[4].geomFactor0 | ||
| 0x0012C018 | | 0x0012C018 | ||
+ | | 0x7D8 | ||
+ | | 0x0189 bit2 | ||
|- | |- | ||
| 0x7E | | 0x7E | ||
Line 759: | Line 1,041: | ||
| dmp_FragmentLightSource[5].geomFactor0 | | dmp_FragmentLightSource[5].geomFactor0 | ||
| 0x0012C018 | | 0x0012C018 | ||
+ | | 0x7D8 | ||
+ | | 0x0199 bit2 | ||
|- | |- | ||
| 0x7F | | 0x7F | ||
Line 764: | Line 1,048: | ||
| dmp_FragmentLightSource[6].geomFactor0 | | dmp_FragmentLightSource[6].geomFactor0 | ||
| 0x0012C018 | | 0x0012C018 | ||
+ | | 0x7D8 | ||
+ | | 0x01A9 bit2 | ||
|- | |- | ||
| 0x80 | | 0x80 | ||
Line 769: | Line 1,055: | ||
| dmp_FragmentLightSource[7].geomFactor0 | | dmp_FragmentLightSource[7].geomFactor0 | ||
| 0x0012C018 | | 0x0012C018 | ||
+ | | 0x7D8 | ||
+ | | 0x01B9 bit2 | ||
|- | |- | ||
| 0x81 | | 0x81 | ||
Line 774: | Line 1,062: | ||
| dmp_FragmentLightSource[0].geomFactor1 | | dmp_FragmentLightSource[0].geomFactor1 | ||
| 0x0012C114 | | 0x0012C114 | ||
+ | | 0x7D8 | ||
+ | | 0x0149 bit3 | ||
|- | |- | ||
| 0x82 | | 0x82 | ||
Line 779: | Line 1,069: | ||
| dmp_FragmentLightSource[1].geomFactor1 | | dmp_FragmentLightSource[1].geomFactor1 | ||
| 0x0012C114 | | 0x0012C114 | ||
+ | | 0x7D8 | ||
+ | | 0x0159 bit3 | ||
|- | |- | ||
| 0x83 | | 0x83 | ||
Line 784: | Line 1,076: | ||
| dmp_FragmentLightSource[2].geomFactor1 | | dmp_FragmentLightSource[2].geomFactor1 | ||
| 0x0012C114 | | 0x0012C114 | ||
+ | | 0x7D8 | ||
+ | | 0x0169 bit3 | ||
|- | |- | ||
| 0x84 | | 0x84 | ||
Line 789: | Line 1,083: | ||
| dmp_FragmentLightSource[3].geomFactor1 | | dmp_FragmentLightSource[3].geomFactor1 | ||
| 0x0012C114 | | 0x0012C114 | ||
+ | | 0x7D8 | ||
+ | | 0x0179 bit3 | ||
|- | |- | ||
| 0x85 | | 0x85 | ||
Line 794: | Line 1,090: | ||
| dmp_FragmentLightSource[4].geomFactor1 | | dmp_FragmentLightSource[4].geomFactor1 | ||
| 0x0012C114 | | 0x0012C114 | ||
+ | | 0x7D8 | ||
+ | | 0x0189 bit3 | ||
|- | |- | ||
| 0x86 | | 0x86 | ||
Line 799: | Line 1,097: | ||
| dmp_FragmentLightSource[5].geomFactor1 | | dmp_FragmentLightSource[5].geomFactor1 | ||
| 0x0012C114 | | 0x0012C114 | ||
+ | | 0x7D8 | ||
+ | | 0x0199 bit3 | ||
|- | |- | ||
| 0x87 | | 0x87 | ||
Line 804: | Line 1,104: | ||
| dmp_FragmentLightSource[6].geomFactor1 | | dmp_FragmentLightSource[6].geomFactor1 | ||
| 0x0012C114 | | 0x0012C114 | ||
+ | | 0x7D8 | ||
+ | | 0x01A9 bit3 | ||
|- | |- | ||
| 0x88 | | 0x88 | ||
Line 809: | Line 1,111: | ||
| dmp_FragmentLightSource[7].geomFactor1 | | dmp_FragmentLightSource[7].geomFactor1 | ||
| 0x0012C114 | | 0x0012C114 | ||
+ | | 0x7D8 | ||
+ | | 0x01B9 bit3 | ||
|- | |- | ||
| 0x89 | | 0x89 | ||
Line 814: | Line 1,118: | ||
| dmp_FragmentLightSource[0].twoSideDiffuse | | dmp_FragmentLightSource[0].twoSideDiffuse | ||
| 0x0012BF10 | | 0x0012BF10 | ||
+ | | 0x7D8 | ||
+ | | 0x0149 bit1 | ||
|- | |- | ||
| 0x8A | | 0x8A | ||
Line 819: | Line 1,125: | ||
| dmp_FragmentLightSource[1].twoSideDiffuse | | dmp_FragmentLightSource[1].twoSideDiffuse | ||
| 0x0012BF10 | | 0x0012BF10 | ||
+ | | 0x7D8 | ||
+ | | 0x0159 bit1 | ||
|- | |- | ||
| 0x8B | | 0x8B | ||
Line 824: | Line 1,132: | ||
| dmp_FragmentLightSource[2].twoSideDiffuse | | dmp_FragmentLightSource[2].twoSideDiffuse | ||
| 0x0012BF10 | | 0x0012BF10 | ||
+ | | 0x7D8 | ||
+ | | 0x0169 bit1 | ||
|- | |- | ||
| 0x8C | | 0x8C | ||
Line 829: | Line 1,139: | ||
| dmp_FragmentLightSource[3].twoSideDiffuse | | dmp_FragmentLightSource[3].twoSideDiffuse | ||
| 0x0012BF10 | | 0x0012BF10 | ||
+ | | 0x7D8 | ||
+ | | 0x0179 bit1 | ||
|- | |- | ||
| 0x8D | | 0x8D | ||
Line 834: | Line 1,146: | ||
| dmp_FragmentLightSource[4].twoSideDiffuse | | dmp_FragmentLightSource[4].twoSideDiffuse | ||
| 0x0012BF10 | | 0x0012BF10 | ||
+ | | 0x7D8 | ||
+ | | 0x0189 bit1 | ||
|- | |- | ||
| 0x8E | | 0x8E | ||
Line 839: | Line 1,153: | ||
| dmp_FragmentLightSource[5].twoSideDiffuse | | dmp_FragmentLightSource[5].twoSideDiffuse | ||
| 0x0012BF10 | | 0x0012BF10 | ||
+ | | 0x7D8 | ||
+ | | 0x0199 bit1 | ||
|- | |- | ||
| 0x8F | | 0x8F | ||
Line 844: | Line 1,160: | ||
| dmp_FragmentLightSource[6].twoSideDiffuse | | dmp_FragmentLightSource[6].twoSideDiffuse | ||
| 0x0012BF10 | | 0x0012BF10 | ||
+ | | 0x7D8 | ||
+ | | 0x01A9 bit1 | ||
|- | |- | ||
| 0x90 | | 0x90 | ||
Line 849: | Line 1,167: | ||
| dmp_FragmentLightSource[7].twoSideDiffuse | | dmp_FragmentLightSource[7].twoSideDiffuse | ||
| 0x0012BF10 | | 0x0012BF10 | ||
+ | | 0x7D8 | ||
+ | | 0x01B9 bit1 | ||
|- | |- | ||
| 0x91 | | 0x91 | ||
Line 854: | Line 1,174: | ||
| dmp_FragmentLightSource[0].samplerSP | | dmp_FragmentLightSource[0].samplerSP | ||
| 0x0012C31C | | 0x0012C31C | ||
+ | | 0xA20+0*0x70+0x60 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x92 | | 0x92 | ||
Line 859: | Line 1,181: | ||
| dmp_FragmentLightSource[1].samplerSP | | dmp_FragmentLightSource[1].samplerSP | ||
| 0x0012C31C | | 0x0012C31C | ||
+ | | 0xA20+1*0x70+0x60 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x93 | | 0x93 | ||
Line 864: | Line 1,188: | ||
| dmp_FragmentLightSource[2].samplerSP | | dmp_FragmentLightSource[2].samplerSP | ||
| 0x0012C31C | | 0x0012C31C | ||
+ | | 0xA20+2*0x70+0x60 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x94 | | 0x94 | ||
Line 869: | Line 1,195: | ||
| dmp_FragmentLightSource[3].samplerSP | | dmp_FragmentLightSource[3].samplerSP | ||
| 0x0012C31C | | 0x0012C31C | ||
+ | | 0xA20+3*0x70+0x60 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x95 | | 0x95 | ||
Line 874: | Line 1,202: | ||
| dmp_FragmentLightSource[4].samplerSP | | dmp_FragmentLightSource[4].samplerSP | ||
| 0x0012C31C | | 0x0012C31C | ||
+ | | 0xA20+4*0x70+0x60 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x96 | | 0x96 | ||
Line 879: | Line 1,209: | ||
| dmp_FragmentLightSource[5].samplerSP | | dmp_FragmentLightSource[5].samplerSP | ||
| 0x0012C31C | | 0x0012C31C | ||
+ | | 0xA20+5*0x70+0x60 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x97 | | 0x97 | ||
Line 884: | Line 1,216: | ||
| dmp_FragmentLightSource[6].samplerSP | | dmp_FragmentLightSource[6].samplerSP | ||
| 0x0012C31C | | 0x0012C31C | ||
+ | | 0xA20+6*0x70+0x60 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x98 | | 0x98 | ||
Line 889: | Line 1,223: | ||
| dmp_FragmentLightSource[7].samplerSP | | dmp_FragmentLightSource[7].samplerSP | ||
| 0x0012C31C | | 0x0012C31C | ||
+ | | 0xA20+7*0x70+0x60 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0x99 | | 0x99 | ||
Line 894: | Line 1,230: | ||
| dmp_FragmentLightSource[0].spotEnabled | | dmp_FragmentLightSource[0].spotEnabled | ||
| 0x0012C380 | | 0x0012C380 | ||
+ | | ? | ||
+ | | 0x01C4 bit3 (1 = disable?) | ||
|- | |- | ||
| 0x9A | | 0x9A | ||
Line 899: | Line 1,237: | ||
| dmp_FragmentLightSource[1].spotEnabled | | dmp_FragmentLightSource[1].spotEnabled | ||
| 0x0012C380 | | 0x0012C380 | ||
+ | | ? | ||
+ | | 0x01C4 bit4 (1 = disable?) | ||
|- | |- | ||
| 0x9B | | 0x9B | ||
Line 904: | Line 1,244: | ||
| dmp_FragmentLightSource[2].spotEnabled | | dmp_FragmentLightSource[2].spotEnabled | ||
| 0x0012C380 | | 0x0012C380 | ||
+ | | ? | ||
+ | | 0x01C4 bit5 (1 = disable?) | ||
|- | |- | ||
| 0x9C | | 0x9C | ||
Line 909: | Line 1,251: | ||
| dmp_FragmentLightSource[3].spotEnabled | | dmp_FragmentLightSource[3].spotEnabled | ||
| 0x0012C380 | | 0x0012C380 | ||
+ | | ? | ||
+ | | 0x01C4 bit6 (1 = disable?) | ||
|- | |- | ||
| 0x9D | | 0x9D | ||
Line 914: | Line 1,258: | ||
| dmp_FragmentLightSource[4].spotEnabled | | dmp_FragmentLightSource[4].spotEnabled | ||
| 0x0012C380 | | 0x0012C380 | ||
+ | | ? | ||
+ | | 0x01C4 bit7 (1 = disable?) | ||
|- | |- | ||
| 0x9E | | 0x9E | ||
Line 919: | Line 1,265: | ||
| dmp_FragmentLightSource[5].spotEnabled | | dmp_FragmentLightSource[5].spotEnabled | ||
| 0x0012C380 | | 0x0012C380 | ||
+ | | ? | ||
+ | | 0x01C4 bit8 (1 = disable?) | ||
|- | |- | ||
| 0x9F | | 0x9F | ||
Line 924: | Line 1,272: | ||
| dmp_FragmentLightSource[6].spotEnabled | | dmp_FragmentLightSource[6].spotEnabled | ||
| 0x0012C380 | | 0x0012C380 | ||
+ | | ? | ||
+ | | 0x01C4 bit9 (1 = disable?) | ||
|- | |- | ||
| 0xA0 | | 0xA0 | ||
Line 929: | Line 1,279: | ||
| dmp_FragmentLightSource[7].spotEnabled | | dmp_FragmentLightSource[7].spotEnabled | ||
| 0x0012C380 | | 0x0012C380 | ||
+ | | ? | ||
+ | | 0x01C4 bit10 (1 = disable?) | ||
|- | |- | ||
| 0xA1 | | 0xA1 | ||
Line 934: | Line 1,286: | ||
| dmp_FragmentLightSource[0].distanceAttenuationBias | | dmp_FragmentLightSource[0].distanceAttenuationBias | ||
| 0x00158AE8 | | 0x00158AE8 | ||
+ | | 0xA20+0*0x70+0x64 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xA2 | | 0xA2 | ||
Line 939: | Line 1,293: | ||
| dmp_FragmentLightSource[1].distanceAttenuationBias | | dmp_FragmentLightSource[1].distanceAttenuationBias | ||
| 0x00158AE8 | | 0x00158AE8 | ||
+ | | 0xA20+1*0x70+0x64 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xA3 | | 0xA3 | ||
Line 944: | Line 1,300: | ||
| dmp_FragmentLightSource[2].distanceAttenuationBias | | dmp_FragmentLightSource[2].distanceAttenuationBias | ||
| 0x00158AE8 | | 0x00158AE8 | ||
+ | | 0xA20+2*0x70+0x64 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xA4 | | 0xA4 | ||
Line 949: | Line 1,307: | ||
| dmp_FragmentLightSource[3].distanceAttenuationBias | | dmp_FragmentLightSource[3].distanceAttenuationBias | ||
| 0x00158AE8 | | 0x00158AE8 | ||
+ | | 0xA20+3*0x70+0x64 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xA5 | | 0xA5 | ||
Line 954: | Line 1,314: | ||
| dmp_FragmentLightSource[4].distanceAttenuationBias | | dmp_FragmentLightSource[4].distanceAttenuationBias | ||
| 0x00158AE8 | | 0x00158AE8 | ||
+ | | 0xA20+4*0x70+0x64 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xA6 | | 0xA6 | ||
Line 959: | Line 1,321: | ||
| dmp_FragmentLightSource[5].distanceAttenuationBias | | dmp_FragmentLightSource[5].distanceAttenuationBias | ||
| 0x00158AE8 | | 0x00158AE8 | ||
+ | | 0xA20+5*0x70+0x64 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xA7 | | 0xA7 | ||
Line 964: | Line 1,328: | ||
| dmp_FragmentLightSource[6].distanceAttenuationBias | | dmp_FragmentLightSource[6].distanceAttenuationBias | ||
| 0x00158AE8 | | 0x00158AE8 | ||
+ | | 0xA20+6*0x70+0x64 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xA8 | | 0xA8 | ||
Line 969: | Line 1,335: | ||
| dmp_FragmentLightSource[7].distanceAttenuationBias | | dmp_FragmentLightSource[7].distanceAttenuationBias | ||
| 0x00158AE8 | | 0x00158AE8 | ||
+ | | 0xA20+7*0x70+0x64 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xA9 | | 0xA9 | ||
Line 974: | Line 1,342: | ||
| dmp_FragmentLightSource[0].distanceAttenuationScale | | dmp_FragmentLightSource[0].distanceAttenuationScale | ||
| 0x00158C44 | | 0x00158C44 | ||
+ | | 0xA20+0*0x70+0x68 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xAA | | 0xAA | ||
Line 979: | Line 1,349: | ||
| dmp_FragmentLightSource[1].distanceAttenuationScale | | dmp_FragmentLightSource[1].distanceAttenuationScale | ||
| 0x00158C44 | | 0x00158C44 | ||
+ | | 0xA20+1*0x70+0x68 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xAB | | 0xAB | ||
Line 984: | Line 1,356: | ||
| dmp_FragmentLightSource[2].distanceAttenuationScale | | dmp_FragmentLightSource[2].distanceAttenuationScale | ||
| 0x00158C44 | | 0x00158C44 | ||
+ | | 0xA20+2*0x70+0x68 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xAC | | 0xAC | ||
Line 989: | Line 1,363: | ||
| dmp_FragmentLightSource[3].distanceAttenuationScale | | dmp_FragmentLightSource[3].distanceAttenuationScale | ||
| 0x00158C44 | | 0x00158C44 | ||
+ | | 0xA20+3*0x70+0x68 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xAD | | 0xAD | ||
Line 994: | Line 1,370: | ||
| dmp_FragmentLightSource[4].distanceAttenuationScale | | dmp_FragmentLightSource[4].distanceAttenuationScale | ||
| 0x00158C44 | | 0x00158C44 | ||
+ | | 0xA20+4*0x70+0x68 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xAE | | 0xAE | ||
Line 999: | Line 1,377: | ||
| dmp_FragmentLightSource[5].distanceAttenuationScale | | dmp_FragmentLightSource[5].distanceAttenuationScale | ||
| 0x00158C44 | | 0x00158C44 | ||
+ | | 0xA20+5*0x70+0x68 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xAF | | 0xAF | ||
Line 1,004: | Line 1,384: | ||
| dmp_FragmentLightSource[6].distanceAttenuationScale | | dmp_FragmentLightSource[6].distanceAttenuationScale | ||
| 0x00158C44 | | 0x00158C44 | ||
+ | | 0xA20+6*0x70+0x68 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xB0 | | 0xB0 | ||
Line 1,009: | Line 1,391: | ||
| dmp_FragmentLightSource[7].distanceAttenuationScale | | dmp_FragmentLightSource[7].distanceAttenuationScale | ||
| 0x00158C44 | | 0x00158C44 | ||
+ | | 0xA20+7*0x70+0x68 | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xB1 | | 0xB1 | ||
Line 1,014: | Line 1,398: | ||
| dmp_FragmentLightSource[0].distanceAttenuationEnabled | | dmp_FragmentLightSource[0].distanceAttenuationEnabled | ||
| 0x0012C4A0 | | 0x0012C4A0 | ||
+ | | ? | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xB2 | | 0xB2 | ||
Line 1,019: | Line 1,405: | ||
| dmp_FragmentLightSource[1].distanceAttenuationEnabled | | dmp_FragmentLightSource[1].distanceAttenuationEnabled | ||
| 0x0012C4A0 | | 0x0012C4A0 | ||
+ | | ? | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xB3 | | 0xB3 | ||
Line 1,024: | Line 1,412: | ||
| dmp_FragmentLightSource[2].distanceAttenuationEnabled | | dmp_FragmentLightSource[2].distanceAttenuationEnabled | ||
| 0x0012C4A0 | | 0x0012C4A0 | ||
+ | | ? | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xB4 | | 0xB4 | ||
Line 1,029: | Line 1,419: | ||
| dmp_FragmentLightSource[3].distanceAttenuationEnabled | | dmp_FragmentLightSource[3].distanceAttenuationEnabled | ||
| 0x0012C4A0 | | 0x0012C4A0 | ||
+ | | ? | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xB5 | | 0xB5 | ||
Line 1,034: | Line 1,426: | ||
| dmp_FragmentLightSource[4].distanceAttenuationEnabled | | dmp_FragmentLightSource[4].distanceAttenuationEnabled | ||
| 0x0012C4A0 | | 0x0012C4A0 | ||
+ | | ? | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xB6 | | 0xB6 | ||
Line 1,039: | Line 1,433: | ||
| dmp_FragmentLightSource[5].distanceAttenuationEnabled | | dmp_FragmentLightSource[5].distanceAttenuationEnabled | ||
| 0x0012C4A0 | | 0x0012C4A0 | ||
+ | | ? | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xB7 | | 0xB7 | ||
Line 1,044: | Line 1,440: | ||
| dmp_FragmentLightSource[6].distanceAttenuationEnabled | | dmp_FragmentLightSource[6].distanceAttenuationEnabled | ||
| 0x0012C4A0 | | 0x0012C4A0 | ||
+ | | ? | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xB8 | | 0xB8 | ||
Line 1,049: | Line 1,447: | ||
| dmp_FragmentLightSource[7].distanceAttenuationEnabled | | dmp_FragmentLightSource[7].distanceAttenuationEnabled | ||
| 0x0012C4A0 | | 0x0012C4A0 | ||
+ | | ? | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xB9 | | 0xB9 | ||
Line 1,054: | Line 1,454: | ||
| dmp_FragmentLightSource[0].samplerDA | | dmp_FragmentLightSource[0].samplerDA | ||
| 0x0012C578 | | 0x0012C578 | ||
+ | | 0xA20+0*0x70+0x6C | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xBA | | 0xBA | ||
Line 1,059: | Line 1,461: | ||
| dmp_FragmentLightSource[1].samplerDA | | dmp_FragmentLightSource[1].samplerDA | ||
| 0x0012C578 | | 0x0012C578 | ||
+ | | 0xA20+1*0x70+0x6C | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xBB | | 0xBB | ||
Line 1,064: | Line 1,468: | ||
| dmp_FragmentLightSource[2].samplerDA | | dmp_FragmentLightSource[2].samplerDA | ||
| 0x0012C578 | | 0x0012C578 | ||
+ | | 0xA20+2*0x70+0x6C | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xBC | | 0xBC | ||
Line 1,069: | Line 1,475: | ||
| dmp_FragmentLightSource[3].samplerDA | | dmp_FragmentLightSource[3].samplerDA | ||
| 0x0012C578 | | 0x0012C578 | ||
+ | | 0xA20+3*0x70+0x6C | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xBD | | 0xBD | ||
Line 1,074: | Line 1,482: | ||
| dmp_FragmentLightSource[4].samplerDA | | dmp_FragmentLightSource[4].samplerDA | ||
| 0x0012C578 | | 0x0012C578 | ||
+ | | 0xA20+4*0x70+0x6C | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xBE | | 0xBE | ||
Line 1,079: | Line 1,489: | ||
| dmp_FragmentLightSource[5].samplerDA | | dmp_FragmentLightSource[5].samplerDA | ||
| 0x0012C578 | | 0x0012C578 | ||
+ | | 0xA20+5*0x70+0x6C | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xBF | | 0xBF | ||
Line 1,084: | Line 1,496: | ||
| dmp_FragmentLightSource[6].samplerDA | | dmp_FragmentLightSource[6].samplerDA | ||
| 0x0012C578 | | 0x0012C578 | ||
+ | | 0xA20+6*0x70+0x6C | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xC0 | | 0xC0 | ||
Line 1,089: | Line 1,503: | ||
| dmp_FragmentLightSource[7].samplerDA | | dmp_FragmentLightSource[7].samplerDA | ||
| 0x0012C578 | | 0x0012C578 | ||
+ | | 0xA20+7*0x70+0x6C | ||
+ | | 0x01C8 ? | ||
|- | |- | ||
| 0xC1 | | 0xC1 | ||
Line 1,094: | Line 1,510: | ||
| dmp_LightEnv.absLutInputD0 | | dmp_LightEnv.absLutInputD0 | ||
| 0x0012C5D8 | | 0x0012C5D8 | ||
+ | | ? | ||
+ | | 0x01D0 bit12 (1 = disable?) | ||
|- | |- | ||
| 0xC2 | | 0xC2 | ||
Line 1,099: | Line 1,517: | ||
| dmp_LightEnv.absLutInputD1 | | dmp_LightEnv.absLutInputD1 | ||
| 0x0012C5D8 | | 0x0012C5D8 | ||
+ | | ? | ||
+ | | 0x01D0 bit13 (1 = disable?) | ||
|- | |- | ||
| 0xC3 | | 0xC3 | ||
Line 1,104: | Line 1,524: | ||
| dmp_LightEnv.absLutInputSP | | dmp_LightEnv.absLutInputSP | ||
| 0x0012C5D8 | | 0x0012C5D8 | ||
+ | | ? | ||
+ | | 0x01D0 bit14 (1 = disable?) | ||
|- | |- | ||
| 0xC4 | | 0xC4 | ||
Line 1,109: | Line 1,531: | ||
| dmp_LightEnv.absLutInputFR | | dmp_LightEnv.absLutInputFR | ||
| 0x0012C5D8 | | 0x0012C5D8 | ||
+ | | ? | ||
+ | | 0x01D0 bit15 (1 = disable?) | ||
|- | |- | ||
| 0xC5 | | 0xC5 | ||
Line 1,114: | Line 1,538: | ||
| dmp_LightEnv.absLutInputRB | | dmp_LightEnv.absLutInputRB | ||
| 0x0012C5D8 | | 0x0012C5D8 | ||
+ | | ? | ||
+ | | 0x01D0 bit16 (1 = disable?) | ||
|- | |- | ||
| 0xC6 | | 0xC6 | ||
Line 1,119: | Line 1,545: | ||
| dmp_LightEnv.absLutInputRG | | dmp_LightEnv.absLutInputRG | ||
| 0x0012C5D8 | | 0x0012C5D8 | ||
+ | | ? | ||
+ | | 0x01D0 bit17 (1 = disable?) | ||
|- | |- | ||
| 0xC7 | | 0xC7 | ||
Line 1,124: | Line 1,552: | ||
| dmp_LightEnv.absLutInputRR | | dmp_LightEnv.absLutInputRR | ||
| 0x0012C5D8 | | 0x0012C5D8 | ||
+ | | ? | ||
+ | | 0x01D0 bit18 (1 = disable?) | ||
|- | |- | ||
| 0xC8 | | 0xC8 | ||
Line 1,129: | Line 1,559: | ||
| dmp_LightEnv.lutInputD0 | | dmp_LightEnv.lutInputD0 | ||
| 0x0012C6E8 | | 0x0012C6E8 | ||
+ | | ? | ||
+ | | 0x01D1 bit0-2 | ||
|- | |- | ||
| 0xC9 | | 0xC9 | ||
Line 1,134: | Line 1,566: | ||
| dmp_LightEnv.lutInputD1 | | dmp_LightEnv.lutInputD1 | ||
| 0x0012C6E8 | | 0x0012C6E8 | ||
+ | | ? | ||
+ | | 0x01D1 bit4-6 | ||
|- | |- | ||
| 0xCA | | 0xCA | ||
Line 1,139: | Line 1,573: | ||
| dmp_LightEnv.lutInputSP | | dmp_LightEnv.lutInputSP | ||
| 0x0012C6E8 | | 0x0012C6E8 | ||
+ | | ? | ||
+ | | 0x01D1 bit8-10 | ||
|- | |- | ||
| 0xCB | | 0xCB | ||
Line 1,144: | Line 1,580: | ||
| dmp_LightEnv.lutInputFR | | dmp_LightEnv.lutInputFR | ||
| 0x0012C6E8 | | 0x0012C6E8 | ||
+ | | ? | ||
+ | | 0x01D1 bit12-14 | ||
|- | |- | ||
| 0xCC | | 0xCC | ||
Line 1,149: | Line 1,587: | ||
| dmp_LightEnv.lutInputRB | | dmp_LightEnv.lutInputRB | ||
| 0x0012C6E8 | | 0x0012C6E8 | ||
+ | | ? | ||
+ | | 0x01D1 bit16-18 | ||
|- | |- | ||
| 0xCD | | 0xCD | ||
Line 1,154: | Line 1,594: | ||
| dmp_LightEnv.lutInputRG | | dmp_LightEnv.lutInputRG | ||
| 0x0012C6E8 | | 0x0012C6E8 | ||
+ | | ? | ||
+ | | 0x01D1 bit20-22 | ||
|- | |- | ||
| 0xCE | | 0xCE | ||
Line 1,159: | Line 1,601: | ||
| dmp_LightEnv.lutInputRR | | dmp_LightEnv.lutInputRR | ||
| 0x0012C6E8 | | 0x0012C6E8 | ||
+ | | ? | ||
+ | | 0x01D1 bit24-26 | ||
|- | |- | ||
| 0xCF | | 0xCF | ||
Line 1,164: | Line 1,608: | ||
| dmp_LightEnv.lutScaleD0 | | dmp_LightEnv.lutScaleD0 | ||
| 0x00155404 | | 0x00155404 | ||
+ | | ? | ||
+ | | 0x01D2 bit0-3 | ||
|- | |- | ||
| 0xD0 | | 0xD0 | ||
Line 1,169: | Line 1,615: | ||
| dmp_LightEnv.lutScaleD1 | | dmp_LightEnv.lutScaleD1 | ||
| 0x00155404 | | 0x00155404 | ||
+ | | ? | ||
+ | | 0x01D2 bit4-7 | ||
|- | |- | ||
| 0xD1 | | 0xD1 | ||
Line 1,174: | Line 1,622: | ||
| dmp_LightEnv.lutScaleSP | | dmp_LightEnv.lutScaleSP | ||
| 0x00155404 | | 0x00155404 | ||
+ | | ? | ||
+ | | 0x01D2 bit8-11 | ||
|- | |- | ||
| 0xD2 | | 0xD2 | ||
Line 1,179: | Line 1,629: | ||
| dmp_LightEnv.lutScaleFR | | dmp_LightEnv.lutScaleFR | ||
| 0x00155404 | | 0x00155404 | ||
+ | | ? | ||
+ | | 0x01D2 bit12-15 | ||
|- | |- | ||
| 0xD3 | | 0xD3 | ||
Line 1,184: | Line 1,636: | ||
| dmp_LightEnv.lutScaleRB | | dmp_LightEnv.lutScaleRB | ||
| 0x00155404 | | 0x00155404 | ||
+ | | ? | ||
+ | |0x01D2 bit16-19 | ||
|- | |- | ||
| 0xD4 | | 0xD4 | ||
Line 1,189: | Line 1,643: | ||
| dmp_LightEnv.lutScaleRG | | dmp_LightEnv.lutScaleRG | ||
| 0x00155404 | | 0x00155404 | ||
+ | | ? | ||
+ | | 0x01D2 bit20-23 | ||
|- | |- | ||
| 0xD5 | | 0xD5 | ||
Line 1,194: | Line 1,650: | ||
| dmp_LightEnv.lutScaleRR | | dmp_LightEnv.lutScaleRR | ||
| 0x00155404 | | 0x00155404 | ||
+ | | ? | ||
+ | | 0x01D2 bit24-27 | ||
|- | |- | ||
| 0xD6 | | 0xD6 | ||
Line 1,199: | Line 1,657: | ||
| dmp_FragmentMaterial.samplerD0 | | dmp_FragmentMaterial.samplerD0 | ||
| 0x0012C7D0 | | 0x0012C7D0 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0xD7 | | 0xD7 | ||
Line 1,204: | Line 1,664: | ||
| dmp_FragmentMaterial.samplerD1 | | dmp_FragmentMaterial.samplerD1 | ||
| 0x0012C7D0 | | 0x0012C7D0 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0xD8 | | 0xD8 | ||
Line 1,209: | Line 1,671: | ||
| dmp_FragmentMaterial.samplerFR | | dmp_FragmentMaterial.samplerFR | ||
| 0x0012C7D0 | | 0x0012C7D0 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0xD9 | | 0xD9 | ||
Line 1,214: | Line 1,678: | ||
| dmp_FragmentMaterial.samplerRB | | dmp_FragmentMaterial.samplerRB | ||
| 0x0012C7D0 | | 0x0012C7D0 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0xDA | | 0xDA | ||
Line 1,219: | Line 1,685: | ||
| dmp_FragmentMaterial.samplerRG | | dmp_FragmentMaterial.samplerRG | ||
| 0x0012C7D0 | | 0x0012C7D0 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0xDB | | 0xDB | ||
Line 1,224: | Line 1,692: | ||
| dmp_FragmentMaterial.samplerRR | | dmp_FragmentMaterial.samplerRR | ||
| 0x0012C7D0 | | 0x0012C7D0 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0xDC | | 0xDC | ||
Line 1,229: | Line 1,699: | ||
| dmp_LightEnv.shadowSelector | | dmp_LightEnv.shadowSelector | ||
| 0x0012CE44 | | 0x0012CE44 | ||
+ | | ? | ||
+ | | 0x01C3 bit24-25 | ||
|- | |- | ||
| 0xDD | | 0xDD | ||
Line 1,234: | Line 1,706: | ||
| dmp_LightEnv.bumpSelector | | dmp_LightEnv.bumpSelector | ||
| 0x0012CD88 | | 0x0012CD88 | ||
+ | | ? | ||
+ | | 0x01C3 bit22-23 | ||
|- | |- | ||
| 0xDE | | 0xDE | ||
Line 1,239: | Line 1,713: | ||
| dmp_LightEnv.bumpMode | | dmp_LightEnv.bumpMode | ||
| 0x0012D4B4 | | 0x0012D4B4 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0xDF | | 0xDF | ||
Line 1,244: | Line 1,720: | ||
| dmp_LightEnv.bumpRenorm | | dmp_LightEnv.bumpRenorm | ||
| 0x0012D8A0 | | 0x0012D8A0 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0xE0 | | 0xE0 | ||
Line 1,249: | Line 1,727: | ||
| dmp_LightEnv.config | | dmp_LightEnv.config | ||
| 0x0012D5E4 | | 0x0012D5E4 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0xE1 | | 0xE1 | ||
Line 1,254: | Line 1,734: | ||
| dmp_LightEnv.invertShadow | | dmp_LightEnv.invertShadow | ||
| 0x0012CF04 | | 0x0012CF04 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0xE2 | | 0xE2 | ||
Line 1,259: | Line 1,741: | ||
| dmp_LightEnv.shadowPrimary | | dmp_LightEnv.shadowPrimary | ||
| 0x0012CFD4 | | 0x0012CFD4 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0xE3 | | 0xE3 | ||
Line 1,264: | Line 1,748: | ||
| dmp_LightEnv.shadowSecondary | | dmp_LightEnv.shadowSecondary | ||
| 0x0012D1B8 | | 0x0012D1B8 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0xE4 | | 0xE4 | ||
Line 1,269: | Line 1,755: | ||
| dmp_LightEnv.shadowAlpha | | dmp_LightEnv.shadowAlpha | ||
| 0x0012D350 | | 0x0012D350 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0xE5 | | 0xE5 | ||
Line 1,274: | Line 1,762: | ||
| dmp_LightEnv.fresnelSelector | | dmp_LightEnv.fresnelSelector | ||
| 0x0012D720 | | 0x0012D720 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0xE6 | | 0xE6 | ||
Line 1,279: | Line 1,769: | ||
| dmp_LightEnv.clampHighlights | | dmp_LightEnv.clampHighlights | ||
| 0x0012D9B0 | | 0x0012D9B0 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0xE7 | | 0xE7 | ||
Line 1,284: | Line 1,776: | ||
| dmp_LightEnv.lutEnabledD0 | | dmp_LightEnv.lutEnabledD0 | ||
| 0x0012DA80 | | 0x0012DA80 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0xE8 | | 0xE8 | ||
Line 1,289: | Line 1,783: | ||
| dmp_LightEnv.lutEnabledD1 | | dmp_LightEnv.lutEnabledD1 | ||
| 0x0012DB58 | | 0x0012DB58 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0xE9 | | 0xE9 | ||
Line 1,294: | Line 1,790: | ||
| dmp_LightEnv.lutEnabledRefl | | dmp_LightEnv.lutEnabledRefl | ||
| 0x0012C83C | | 0x0012C83C | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0xEA | | 0xEA | ||
Line 1,299: | Line 1,797: | ||
| dmp_TexEnv[0].combineRgb | | dmp_TexEnv[0].combineRgb | ||
| 0x0012DC2C | | 0x0012DC2C | ||
+ | | ? | ||
+ | | 0xC2 | ||
|- | |- | ||
| 0xEB | | 0xEB | ||
Line 1,304: | Line 1,804: | ||
| dmp_TexEnv[1].combineRgb | | dmp_TexEnv[1].combineRgb | ||
| 0x0012DC2C | | 0x0012DC2C | ||
+ | | ? | ||
+ | | 0xCA | ||
|- | |- | ||
| 0xEC | | 0xEC | ||
Line 1,309: | Line 1,811: | ||
| dmp_TexEnv[2].combineRgb | | dmp_TexEnv[2].combineRgb | ||
| 0x0012DC2C | | 0x0012DC2C | ||
+ | | ? | ||
+ | | 0xD2 | ||
|- | |- | ||
| 0xED | | 0xED | ||
Line 1,314: | Line 1,818: | ||
| dmp_TexEnv[3].combineRgb | | dmp_TexEnv[3].combineRgb | ||
| 0x0012DC2C | | 0x0012DC2C | ||
+ | | ? | ||
+ | | 0xDA | ||
|- | |- | ||
| 0xEE | | 0xEE | ||
Line 1,319: | Line 1,825: | ||
| dmp_TexEnv[4].combineRgb | | dmp_TexEnv[4].combineRgb | ||
| 0x0012DC2C | | 0x0012DC2C | ||
+ | | ? | ||
+ | | 0xF2 | ||
|- | |- | ||
| 0xEF | | 0xEF | ||
Line 1,324: | Line 1,832: | ||
| dmp_TexEnv[5].combineRgb | | dmp_TexEnv[5].combineRgb | ||
| 0x0012DC2C | | 0x0012DC2C | ||
+ | | ? | ||
+ | | 0xFA | ||
|- | |- | ||
| 0xF0 | | 0xF0 | ||
Line 1,329: | Line 1,839: | ||
| dmp_TexEnv[0].combineAlpha | | dmp_TexEnv[0].combineAlpha | ||
| 0x0012DD9C | | 0x0012DD9C | ||
+ | | ? | ||
+ | | 0xC2 | ||
|- | |- | ||
| 0xF1 | | 0xF1 | ||
Line 1,334: | Line 1,846: | ||
| dmp_TexEnv[1].combineAlpha | | dmp_TexEnv[1].combineAlpha | ||
| 0x0012DD9C | | 0x0012DD9C | ||
+ | | ? | ||
+ | | 0xCA | ||
|- | |- | ||
| 0xF2 | | 0xF2 | ||
Line 1,339: | Line 1,853: | ||
| dmp_TexEnv[2].combineAlpha | | dmp_TexEnv[2].combineAlpha | ||
| 0x0012DD9C | | 0x0012DD9C | ||
+ | | ? | ||
+ | | 0xD2 | ||
|- | |- | ||
| 0xF3 | | 0xF3 | ||
Line 1,344: | Line 1,860: | ||
| dmp_TexEnv[3].combineAlpha | | dmp_TexEnv[3].combineAlpha | ||
| 0x0012DD9C | | 0x0012DD9C | ||
+ | | ? | ||
+ | | 0xDA | ||
|- | |- | ||
| 0xF4 | | 0xF4 | ||
Line 1,349: | Line 1,867: | ||
| dmp_TexEnv[4].combineAlpha | | dmp_TexEnv[4].combineAlpha | ||
| 0x0012DD9C | | 0x0012DD9C | ||
+ | | ? | ||
+ | | 0xF2 | ||
|- | |- | ||
| 0xF5 | | 0xF5 | ||
Line 1,354: | Line 1,874: | ||
| dmp_TexEnv[5].combineAlpha | | dmp_TexEnv[5].combineAlpha | ||
| 0x0012DD9C | | 0x0012DD9C | ||
+ | | ? | ||
+ | | 0xFA | ||
|- | |- | ||
| 0xF6 | | 0xF6 | ||
Line 1,359: | Line 1,881: | ||
| dmp_TexEnv[0].srcRgb | | dmp_TexEnv[0].srcRgb | ||
| 0x0012DF08 | | 0x0012DF08 | ||
+ | | ? | ||
+ | | 0xC0 | ||
|- | |- | ||
| 0xF7 | | 0xF7 | ||
Line 1,364: | Line 1,888: | ||
| dmp_TexEnv[1].srcRgb | | dmp_TexEnv[1].srcRgb | ||
| 0x0012DF08 | | 0x0012DF08 | ||
+ | | ? | ||
+ | | 0xC8 | ||
|- | |- | ||
| 0xF8 | | 0xF8 | ||
Line 1,369: | Line 1,895: | ||
| dmp_TexEnv[2].srcRgb | | dmp_TexEnv[2].srcRgb | ||
| 0x0012DF08 | | 0x0012DF08 | ||
+ | | ? | ||
+ | | 0xD0 | ||
|- | |- | ||
| 0xF9 | | 0xF9 | ||
Line 1,374: | Line 1,902: | ||
| dmp_TexEnv[3].srcRgb | | dmp_TexEnv[3].srcRgb | ||
| 0x0012DF08 | | 0x0012DF08 | ||
+ | | ? | ||
+ | | 0xD8 | ||
|- | |- | ||
| 0xFA | | 0xFA | ||
Line 1,379: | Line 1,909: | ||
| dmp_TexEnv[4].srcRgb | | dmp_TexEnv[4].srcRgb | ||
| 0x0012DF08 | | 0x0012DF08 | ||
+ | | ? | ||
+ | | 0xF0 | ||
|- | |- | ||
| 0xFB | | 0xFB | ||
Line 1,384: | Line 1,916: | ||
| dmp_TexEnv[5].srcRgb | | dmp_TexEnv[5].srcRgb | ||
| 0x0012DF08 | | 0x0012DF08 | ||
+ | | ? | ||
+ | | 0xF8 | ||
|- | |- | ||
| 0xFC | | 0xFC | ||
Line 1,389: | Line 1,923: | ||
| dmp_TexEnv[0].srcAlpha | | dmp_TexEnv[0].srcAlpha | ||
| 0x0012E0FC | | 0x0012E0FC | ||
+ | | ? | ||
+ | | 0xC0 | ||
|- | |- | ||
| 0xFD | | 0xFD | ||
Line 1,394: | Line 1,930: | ||
| dmp_TexEnv[1].srcAlpha | | dmp_TexEnv[1].srcAlpha | ||
| 0x0012E0FC | | 0x0012E0FC | ||
+ | | ? | ||
+ | | 0xC8 | ||
|- | |- | ||
| 0xFE | | 0xFE | ||
Line 1,399: | Line 1,937: | ||
| dmp_TexEnv[2].srcAlpha | | dmp_TexEnv[2].srcAlpha | ||
| 0x0012E0FC | | 0x0012E0FC | ||
+ | | ? | ||
+ | | 0xD0 | ||
|- | |- | ||
| 0xFF | | 0xFF | ||
Line 1,404: | Line 1,944: | ||
| dmp_TexEnv[3].srcAlpha | | dmp_TexEnv[3].srcAlpha | ||
| 0x0012E0FC | | 0x0012E0FC | ||
+ | | ? | ||
+ | | 0xD8 | ||
|- | |- | ||
| 0x100 | | 0x100 | ||
Line 1,409: | Line 1,951: | ||
| dmp_TexEnv[4].srcAlpha | | dmp_TexEnv[4].srcAlpha | ||
| 0x0012E0FC | | 0x0012E0FC | ||
+ | | ? | ||
+ | | 0xF0 | ||
|- | |- | ||
| 0x101 | | 0x101 | ||
Line 1,414: | Line 1,958: | ||
| dmp_TexEnv[5].srcAlpha | | dmp_TexEnv[5].srcAlpha | ||
| 0x0012E0FC | | 0x0012E0FC | ||
+ | | ? | ||
+ | | 0xF8 | ||
|- | |- | ||
| 0x102 | | 0x102 | ||
Line 1,419: | Line 1,965: | ||
| dmp_TexEnv[0].operandRgb | | dmp_TexEnv[0].operandRgb | ||
| 0x0012E2F0 | | 0x0012E2F0 | ||
+ | | ? | ||
+ | | 0xC1 | ||
|- | |- | ||
| 0x103 | | 0x103 | ||
Line 1,424: | Line 1,972: | ||
| dmp_TexEnv[1].operandRgb | | dmp_TexEnv[1].operandRgb | ||
| 0x0012E2F0 | | 0x0012E2F0 | ||
+ | | ? | ||
+ | | 0xC9 | ||
|- | |- | ||
| 0x104 | | 0x104 | ||
Line 1,429: | Line 1,979: | ||
| dmp_TexEnv[2].operandRgb | | dmp_TexEnv[2].operandRgb | ||
| 0x0012E2F0 | | 0x0012E2F0 | ||
+ | | ? | ||
+ | | 0xD1 | ||
|- | |- | ||
| 0x105 | | 0x105 | ||
Line 1,434: | Line 1,986: | ||
| dmp_TexEnv[3].operandRgb | | dmp_TexEnv[3].operandRgb | ||
| 0x0012E2F0 | | 0x0012E2F0 | ||
+ | | ? | ||
+ | | 0xD9 | ||
|- | |- | ||
| 0x106 | | 0x106 | ||
Line 1,439: | Line 1,993: | ||
| dmp_TexEnv[4].operandRgb | | dmp_TexEnv[4].operandRgb | ||
| 0x0012E2F0 | | 0x0012E2F0 | ||
+ | | ? | ||
+ | | 0xF1 | ||
|- | |- | ||
| 0x107 | | 0x107 | ||
Line 1,444: | Line 2,000: | ||
| dmp_TexEnv[5].operandRgb | | dmp_TexEnv[5].operandRgb | ||
| 0x0012E2F0 | | 0x0012E2F0 | ||
+ | | ? | ||
+ | | 0xF9 | ||
|- | |- | ||
| 0x108 | | 0x108 | ||
Line 1,449: | Line 2,007: | ||
| dmp_TexEnv[0].operandAlpha | | dmp_TexEnv[0].operandAlpha | ||
| 0x0012E51C | | 0x0012E51C | ||
+ | | ? | ||
+ | | 0xC1 | ||
|- | |- | ||
| 0x109 | | 0x109 | ||
Line 1,454: | Line 2,014: | ||
| dmp_TexEnv[1].operandAlpha | | dmp_TexEnv[1].operandAlpha | ||
| 0x0012E51C | | 0x0012E51C | ||
+ | | ? | ||
+ | | 0xC9 | ||
|- | |- | ||
| 0x10A | | 0x10A | ||
Line 1,459: | Line 2,021: | ||
| dmp_TexEnv[2].operandAlpha | | dmp_TexEnv[2].operandAlpha | ||
| 0x0012E51C | | 0x0012E51C | ||
+ | | ? | ||
+ | | 0xD1 | ||
|- | |- | ||
| 0x10B | | 0x10B | ||
Line 1,464: | Line 2,028: | ||
| dmp_TexEnv[3].operandAlpha | | dmp_TexEnv[3].operandAlpha | ||
| 0x0012E51C | | 0x0012E51C | ||
+ | | ? | ||
+ | | 0xD9 | ||
|- | |- | ||
| 0x10C | | 0x10C | ||
Line 1,469: | Line 2,035: | ||
| dmp_TexEnv[4].operandAlpha | | dmp_TexEnv[4].operandAlpha | ||
| 0x0012E51C | | 0x0012E51C | ||
+ | | ? | ||
+ | | 0xF1 | ||
|- | |- | ||
| 0x10D | | 0x10D | ||
Line 1,474: | Line 2,042: | ||
| dmp_TexEnv[5].operandAlpha | | dmp_TexEnv[5].operandAlpha | ||
| 0x0012E51C | | 0x0012E51C | ||
+ | | ? | ||
+ | | 0xF9 | ||
|- | |- | ||
| 0x10E | | 0x10E | ||
Line 1,479: | Line 2,049: | ||
| dmp_TexEnv[0].scaleRgb | | dmp_TexEnv[0].scaleRgb | ||
| 0x00155464 | | 0x00155464 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0x10F | | 0x10F | ||
Line 1,484: | Line 2,056: | ||
| dmp_TexEnv[1].scaleRgb | | dmp_TexEnv[1].scaleRgb | ||
| 0x00155464 | | 0x00155464 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0x110 | | 0x110 | ||
Line 1,489: | Line 2,063: | ||
| dmp_TexEnv[2].scaleRgb | | dmp_TexEnv[2].scaleRgb | ||
| 0x00155464 | | 0x00155464 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0x111 | | 0x111 | ||
Line 1,494: | Line 2,070: | ||
| dmp_TexEnv[3].scaleRgb | | dmp_TexEnv[3].scaleRgb | ||
| 0x00155464 | | 0x00155464 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0x112 | | 0x112 | ||
Line 1,499: | Line 2,077: | ||
| dmp_TexEnv[4].scaleRgb | | dmp_TexEnv[4].scaleRgb | ||
| 0x00155464 | | 0x00155464 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0x113 | | 0x113 | ||
Line 1,504: | Line 2,084: | ||
| dmp_TexEnv[5].scaleRgb | | dmp_TexEnv[5].scaleRgb | ||
| 0x00155464 | | 0x00155464 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0x114 | | 0x114 | ||
Line 1,509: | Line 2,091: | ||
| dmp_TexEnv[0].scaleAlpha | | dmp_TexEnv[0].scaleAlpha | ||
| 0x00158EDC | | 0x00158EDC | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0x115 | | 0x115 | ||
Line 1,514: | Line 2,098: | ||
| dmp_TexEnv[1].scaleAlpha | | dmp_TexEnv[1].scaleAlpha | ||
| 0x00158EDC | | 0x00158EDC | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0x116 | | 0x116 | ||
Line 1,519: | Line 2,105: | ||
| dmp_TexEnv[2].scaleAlpha | | dmp_TexEnv[2].scaleAlpha | ||
| 0x00158EDC | | 0x00158EDC | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0x117 | | 0x117 | ||
Line 1,524: | Line 2,112: | ||
| dmp_TexEnv[3].scaleAlpha | | dmp_TexEnv[3].scaleAlpha | ||
| 0x00158EDC | | 0x00158EDC | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0x118 | | 0x118 | ||
Line 1,529: | Line 2,119: | ||
| dmp_TexEnv[4].scaleAlpha | | dmp_TexEnv[4].scaleAlpha | ||
| 0x00158EDC | | 0x00158EDC | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0x119 | | 0x119 | ||
Line 1,534: | Line 2,126: | ||
| dmp_TexEnv[5].scaleAlpha | | dmp_TexEnv[5].scaleAlpha | ||
| 0x00158EDC | | 0x00158EDC | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0x11A | | 0x11A | ||
Line 1,539: | Line 2,133: | ||
| dmp_TexEnv[0].constRgba | | dmp_TexEnv[0].constRgba | ||
| 0x00158FF4 | | 0x00158FF4 | ||
+ | | ? | ||
+ | | 0xC3 | ||
|- | |- | ||
| 0x11B | | 0x11B | ||
Line 1,544: | Line 2,140: | ||
| dmp_TexEnv[1].constRgba | | dmp_TexEnv[1].constRgba | ||
| 0x00158FF4 | | 0x00158FF4 | ||
+ | | ? | ||
+ | | 0xCB | ||
|- | |- | ||
| 0x11C | | 0x11C | ||
Line 1,549: | Line 2,147: | ||
| dmp_TexEnv[2].constRgba | | dmp_TexEnv[2].constRgba | ||
| 0x00158FF4 | | 0x00158FF4 | ||
+ | | ? | ||
+ | | 0xD3 | ||
|- | |- | ||
| 0x11D | | 0x11D | ||
Line 1,554: | Line 2,154: | ||
| dmp_TexEnv[3].constRgba | | dmp_TexEnv[3].constRgba | ||
| 0x00158FF4 | | 0x00158FF4 | ||
+ | | ? | ||
+ | | 0xDB | ||
|- | |- | ||
| 0x11E | | 0x11E | ||
Line 1,559: | Line 2,161: | ||
| dmp_TexEnv[4].constRgba | | dmp_TexEnv[4].constRgba | ||
| 0x00158FF4 | | 0x00158FF4 | ||
+ | | ? | ||
+ | | 0xF3 | ||
|- | |- | ||
| 0x11F | | 0x11F | ||
Line 1,564: | Line 2,168: | ||
| dmp_TexEnv[5].constRgba | | dmp_TexEnv[5].constRgba | ||
| 0x00158FF4 | | 0x00158FF4 | ||
+ | | ? | ||
+ | | 0xFB | ||
|- | |- | ||
| 0x120 | | 0x120 | ||
Line 1,569: | Line 2,175: | ||
| dmp_TexEnv[0].bufferColor | | dmp_TexEnv[0].bufferColor | ||
| 0x001591C0 | | 0x001591C0 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0x121 | | 0x121 | ||
Line 1,574: | Line 2,182: | ||
| dmp_TexEnv[1].bufferInput | | dmp_TexEnv[1].bufferInput | ||
| 0x0012E6D0 | | 0x0012E6D0 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0x122 | | 0x122 | ||
Line 1,579: | Line 2,189: | ||
| dmp_TexEnv[2].bufferInput | | dmp_TexEnv[2].bufferInput | ||
| 0x0012E6D0 | | 0x0012E6D0 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0x123 | | 0x123 | ||
Line 1,584: | Line 2,196: | ||
| dmp_TexEnv[3].bufferInput | | dmp_TexEnv[3].bufferInput | ||
| 0x0012E6D0 | | 0x0012E6D0 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0x124 | | 0x124 | ||
Line 1,589: | Line 2,203: | ||
| dmp_TexEnv[4].bufferInput | | dmp_TexEnv[4].bufferInput | ||
| 0x0012E6D0 | | 0x0012E6D0 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0x125 | | 0x125 | ||
Line 1,594: | Line 2,210: | ||
| dmp_Fog.mode | | dmp_Fog.mode | ||
| 0x0012E7F8 | | 0x0012E7F8 | ||
+ | | ? | ||
+ | | 0x00E0 bit0-2 (5 -> fog (0x0B60), 7 -> gas (0x6050)) | ||
|- | |- | ||
| 0x126 | | 0x126 | ||
Line 1,599: | Line 2,217: | ||
| dmp_Fog.color | | dmp_Fog.color | ||
| 0x00159338 | | 0x00159338 | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
| 0x127 | | 0x127 | ||
Line 1,604: | Line 2,224: | ||
| dmp_Fog.zFlip | | dmp_Fog.zFlip | ||
| 0x0012E9DC | | 0x0012E9DC | ||
+ | | ? | ||
+ | | 0x00E0 bit16 | ||
|- | |- | ||
| 0x128 | | 0x128 | ||
Line 1,609: | 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. | ||
+ | |||
+ | == 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 |