Sonic the Hedgehog (2006) Shaders: Difference between revisions
No edit summary |
No edit summary |
||
| (21 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
'''''Shaders''''' in [[Sonic the Hedgehog (2006)]] are compiled GPU programs that control the appearance of objects and effects. Most shaders have several different variants with different feature support. Multiplayer shaders may have additional optimisations, like replacing real-time planar reflections with cubemaps. | |||
In the Xbox 360 version of the game, shaders are stored in the following [[U8 Archive|archives]]: | |||
{| class="wikitable" | |||
!Type | |||
!Location | |||
|- | |||
|Singleplayer | |||
|<code>/game/xenon/archives/shader.arc</code> | |||
|- | |||
|Multiplayer | |||
|<code>/game/xenon/archives/shader_lt.arc</code> | |||
|} | |||
Within the archives, shaders are stored in a number of sub-folders. | |||
{| class="wikitable" | |||
!Folder | |||
!Description | |||
|- | |||
|<code>lm</code> | |||
|Lightmapped | |||
|- | |||
|<code>lm_np</code> | |||
|Lightmapped without point lights | |||
|- | |||
|<code>morph</code> | |||
|Mesh morph | |||
|- | |||
|<code>morph_np</code> | |||
|Mesh morph without point lights | |||
|- | |||
|<code>skin</code> | |||
|Rigged meshes | |||
|- | |||
|<code>skin_np</code> | |||
|Rigged meshes without point lights | |||
|- | |||
|<code>std</code> | |||
|Standard | |||
|- | |||
|<code>np</code> | |||
|Standard without point lights | |||
|} | |||
Many of the shaders within the sub-folders are exact duplicates of the standard variant. | |||
Each of the shaders listed below are in the <code>.fxo</code> format in the 360 version of the game. Each shader can contain multiple techniques, which hold the respective vertex and fragment shaders. | Each of the shaders listed below are in the <code>.fxo</code> format in the 360 version of the game. Each shader can contain multiple techniques, which hold the respective vertex and fragment shaders. | ||
{| class="wikitable" | The shader and specific technique used are defined per mesh set in [[NN Chunk Format|XNO files]]. Some shaders are not referenced in XNO files, either because they are used internally or because they are unused altogether. | ||
{| class="wikitable" | |||
!Shader | !Shader | ||
!Notes | !Notes | ||
!Used in XNOs | |||
|- | |- | ||
| AcrobataPrimitive | | AcrobataPrimitive | ||
| | | Used in rendering of Acroarts particle effects. | ||
|- | |- | ||
| Air00 | | Air00 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| Animal00 | | Animal00 | ||
| | | Used for Kingdom Valley eagle. | ||
| ✓ | |||
|- | |- | ||
| Animal01 | | Animal01 | ||
| Line 36: | Line 81: | ||
| Aqua00 | | Aqua00 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| Artifact00 | | Artifact00 | ||
| Line 62: | Line 108: | ||
|- | |- | ||
| Billboard00 | | Billboard00 | ||
| | | No lighting, CSM sampling or point lights support. | ||
| ✓ | |||
|- | |- | ||
| Billboard01 | | Billboard01 | ||
| | | Vertex lighting and point lights, no CSM sampling. | ||
| ✓ | |||
|- | |- | ||
| Billboard02 | | Billboard02 | ||
| | | By far the most used shader. Vertex lighting with no CSM sampling or point lights support. | ||
| ✓ | |||
|- | |- | ||
| Billboard03 | | Billboard03 | ||
| | | Vertex lighting, CSM sampling and point lights. | ||
| ✓ | |||
|- | |- | ||
| Billboard04 | | Billboard04 | ||
| | | Pixel lighting, CSM sampling, no point lights. | ||
| ✓ | |||
|- | |- | ||
| Billboard05 | | Billboard05 | ||
| | | Pixel lighting, no CSM sampling or point lights. | ||
| ✓ | |||
|- | |- | ||
| Billboard06 | | Billboard06 | ||
| | | Pixel lighting and point lights, no CSM sampling. | ||
| ✓ | |||
|- | |- | ||
| Billboard07 | | Billboard07 | ||
| | | Unused. Pixel lighting, CSM sampling and point lights. | ||
|- | |- | ||
| BillboardSp00 | | BillboardSp00 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| BillboardSp01 | | BillboardSp01 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| BillboardSp02 | | BillboardSp02 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| BloomFilter | | BloomFilter | ||
| Line 98: | Line 154: | ||
|- | |- | ||
| bod_light | | bod_light | ||
| | | Used by "Book of Darkness" aka Scepter of Darkness. | ||
| ✓ | |||
|- | |- | ||
| bod_metal | | bod_metal | ||
| | | Used by "Book of Darkness" aka Scepter of Darkness. | ||
| ✓ | |||
|- | |- | ||
| BurnoutBlurFilter | | BurnoutBlurFilter | ||
| Line 108: | Line 166: | ||
| ChaosDrive | | ChaosDrive | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| CharacterMaterial | | CharacterMaterial | ||
| Responsible for rendering playable characters. By far the densest shader in the game, including many unused techniques. | | Responsible for rendering playable characters, NPCs, and many random hub world objects. By far the densest shader in the game, including many unused techniques. | ||
| ✓ | |||
|- | |- | ||
| ColorCopyFilter | | ColorCopyFilter | ||
| Line 135: | Line 195: | ||
| CscGlass00 | | CscGlass00 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| CscGlass01 | | CscGlass01 | ||
| Line 141: | Line 202: | ||
| CscGlass02 | | CscGlass02 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| CscScene00 | | CscScene00 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| CscScene01 | | CscScene01 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| CscScene02 | | CscScene02 | ||
| Line 158: | Line 222: | ||
|- | |- | ||
| csd3D | | csd3D | ||
| | | Used for world-space UI like enemy health gauges. | ||
|- | |- | ||
| csdBG | | csdBG | ||
| Line 174: | Line 238: | ||
| DtdSand01 | | DtdSand01 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| DtdSand02 | | DtdSand02 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| DtdSand03 | | DtdSand03 | ||
| Line 186: | Line 252: | ||
| DtdScene00 | | DtdScene00 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| DtdScene01 | | DtdScene01 | ||
| Line 192: | Line 259: | ||
| DtdScene02 | | DtdScene02 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| DtdScene03 | | DtdScene03 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| DtdScene04 | | DtdScene04 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| DtdScene05 | | DtdScene05 | ||
| Line 203: | Line 273: | ||
|- | |- | ||
| ecb_light | | ecb_light | ||
| | | Used for Egg Cerberus. | ||
| ✓ | |||
|- | |- | ||
| ecb_metal | | ecb_metal | ||
| | | Used for Egg Cerberus. | ||
| ✓ | |||
|- | |- | ||
| Effect00 | | Effect00 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| egen_light | | egen_light | ||
| | | Used for Egg Genesis. | ||
| ✓ | |||
|- | |- | ||
| egen_metal | | egen_metal | ||
| | | Used for Egg Genesis. | ||
| ✓ | |||
|- | |- | ||
| egen_slight | | egen_slight | ||
| | | Used for Egg Genesis. | ||
| ✓ | |||
|- | |- | ||
| emob_light | | emob_light | ||
| | | Used for Egg Mobile. | ||
| ✓ | |||
|- | |- | ||
| emob_metal | | emob_metal | ||
| | | Used for Egg Mobile. | ||
| ✓ | |||
|- | |- | ||
| en_bullet | | en_bullet | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| en_laser00 | | en_laser00 | ||
| Line 234: | Line 313: | ||
| en_lava | | en_lava | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| en_light | | en_light | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| en_lightani | | en_lightani | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| en_metal | | en_metal | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| en_plating | | en_plating | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| en_rock | | en_rock | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| EndSky00 | | EndSky00 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| FBTex_NrmMap | | FBTex_NrmMap | ||
| | | Used by <code>esp_ripple</code> and <code>esp_Sphere</code> | ||
| ✓ | |||
|- | |- | ||
| Fence00 | | Fence00 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| Fence01 | | Fence01 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| FlcCore00 | | FlcCore00 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| FlcScene00 | | FlcScene00 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| FlcScene01 | | FlcScene01 | ||
| Line 273: | Line 364: | ||
| Fluff00 | | Fluff00 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| Fog00 | | Fog00 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| font | | font | ||
| Line 282: | Line 375: | ||
| fsol_armor | | fsol_armor | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| fsol_eye | | fsol_eye | ||
| Line 294: | Line 388: | ||
| Gadget | | Gadget | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| gindows | | gindows | ||
| Line 300: | Line 395: | ||
| Glass00 | | Glass00 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| Glass01 | | Glass01 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| Glass02 | | Glass02 | ||
| Line 312: | Line 409: | ||
| iblis01_eye | | iblis01_eye | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| iblis01_lava | | iblis01_lava | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| iblis01_rock | | iblis01_rock | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| iblis02_eye | | iblis02_eye | ||
| | | Unused, <code>iblis02.xno</code> uses <code>iblis01_eye</code>. They seem more or less identical. | ||
|- | |- | ||
| iblis02_lava | | iblis02_lava | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| iblis02_rock | | iblis02_rock | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| iblis03_eye | | iblis03_eye | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| iblis03_lava | | iblis03_lava | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| iblis03_rock | | iblis03_rock | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| Ice00 | | Ice00 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| Ice01 | | Ice01 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| Ice02 | | Ice02 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| Ice03 | | Ice03 | ||
| Line 350: | Line 458: | ||
|- | |- | ||
| Item_Board | | Item_Board | ||
| | | Crisis City snowboard. Separate from White Acropolis board. | ||
| ✓ | |||
|- | |- | ||
| ItemGlass00 | | ItemGlass00 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| ItemMetal00 | | ItemMetal00 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| KdvAqua00 | | KdvAqua00 | ||
| Line 363: | Line 474: | ||
| KdvAqua01 | | KdvAqua01 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| KdvMist00 | | KdvMist00 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| KdvRope | | KdvRope | ||
| Line 374: | Line 487: | ||
|- | |- | ||
| Kyozoress | | Kyozoress | ||
| | | Likely referring to "巨像", the large monsters in Mephiles' final boss fight. | ||
| ✓ | |||
|- | |- | ||
| Laser00 | | Laser00 | ||
| Line 381: | Line 495: | ||
| Laser01 | | Laser01 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| Leaf00 | | Leaf00 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| Leaf01 | | Leaf01 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| lensflare | | lensflare | ||
| Line 393: | Line 510: | ||
| LightCore | | LightCore | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| Lightmap00 | | Lightmap00 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| Lightmap01 | | Lightmap01 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| LightmapSp00 | | LightmapSp00 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| LightmapSp01 | | LightmapSp01 | ||
| Line 408: | Line 529: | ||
| LightmapSp02 | | LightmapSp02 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| LightmapSp03 | | LightmapSp03 | ||
| Line 414: | Line 536: | ||
| LightmapSp04 | | LightmapSp04 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| Luminous00 | | Luminous00 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| Luminous01 | | Luminous01 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| Luminous02 | | Luminous02 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| Luminous03 | | Luminous03 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| Luminous04 | | Luminous04 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| Luminous05 | | Luminous05 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| Luminous06 | | Luminous06 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| Luminous07 | | Luminous07 | ||
| Line 447: | Line 577: | ||
| Mantle00 | | Mantle00 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| Mantle01 | | Mantle01 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| Mantle02 | | Mantle02 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| MarathonSpeedTree | | MarathonSpeedTree | ||
| Line 462: | Line 595: | ||
| Mefiress | | Mefiress | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| MefiressSpecific | | MefiressSpecific | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| MefiressSpecific2 | | MefiressSpecific2 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| Mercury | | Mercury | ||
| Line 474: | Line 610: | ||
| Metal00 | | Metal00 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| Metal01 | | Metal01 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| Metal02 | | Metal02 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| MotionBlurFilter | | MotionBlurFilter | ||
| Line 515: | Line 654: | ||
|- | |- | ||
| psi_effect | | psi_effect | ||
| | | Used for rendering Silver's psychokinesis effects. | ||
| ✓ | |||
|- | |- | ||
| Ring | | Ring | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| rt_clear | | rt_clear | ||
| Line 528: | Line 669: | ||
| Rust00 | | Rust00 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| SampleFilter | | SampleFilter | ||
| Line 534: | Line 676: | ||
| scr_metal | | scr_metal | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| Shield | | Shield | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| simple | | simple | ||
| Line 542: | Line 686: | ||
|- | |- | ||
| Sky00 | | Sky00 | ||
| | | Used for Egg Wyvern fight and E0026 skybox. | ||
| ✓ | |||
|- | |- | ||
| Sky01 | | Sky01 | ||
| | | Used for Egg Wyvern fight skybox. | ||
| ✓ | |||
|- | |- | ||
| Sky02 | | Sky02 | ||
| | | Used for every other skybox not previously mentioned. | ||
| ✓ | |||
|- | |- | ||
| Snow00 | | Snow00 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| Snow01 | | Snow01 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| Snow02 | | Snow02 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| Stone00 | | Stone00 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| Stone01 | | Stone01 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| Stone02 | | Stone02 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| Stone03 | | Stone03 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| Stone04 | | Stone04 | ||
| Line 575: | Line 729: | ||
|- | |- | ||
| Terrain00 | | Terrain00 | ||
| | | Only used by <code>kdv_obj_D_bridge01</code> | ||
| ✓ | |||
|- | |- | ||
| Terrain01 | | Terrain01 | ||
| | | Only used by <code>tpj_obj_oldtree</code> and <code>tpj_obj_sphere</code> | ||
| ✓ | |||
|- | |- | ||
| Terrain02 | | Terrain02 | ||
| | | Only used by <code>csc_obj_groundA</code>, <code>csc_obj_groundB</code>, and <code>tpj_obj_sphere</code> | ||
| ✓ | |||
|- | |- | ||
| Terrain03 | | Terrain03 | ||
| Line 587: | Line 744: | ||
|- | |- | ||
| Terrain04 | | Terrain04 | ||
| | | Only used by <code>e0125_map02_nos_</code> and <code>tpj_mapA_roadlm</code> | ||
| ✓ | |||
|- | |- | ||
| Terrain05 | | Terrain05 | ||
| | | Used extensively (91 times). | ||
| ✓ | |||
|- | |- | ||
| Terrain06 | | Terrain06 | ||
| Line 606: | Line 765: | ||
| TpjWater00 | | TpjWater00 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| TpjWater01 | | TpjWater01 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| TwnFence00 | | TwnFence00 | ||
| Line 614: | Line 775: | ||
|- | |- | ||
| TwnGate | | TwnGate | ||
| | | Used for warp gates. | ||
| ✓ | |||
|- | |- | ||
| TwnGlass00 | | TwnGlass00 | ||
| Line 624: | Line 786: | ||
| TwnScene00 | | TwnScene00 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| TwnScene01 | | TwnScene01 | ||
| Line 630: | Line 793: | ||
| TwnScene02 | | TwnScene02 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| TwnScene03 | | TwnScene03 | ||
| Line 639: | Line 803: | ||
| WapScene00 | | WapScene00 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| WapScene01 | | WapScene01 | ||
| Line 645: | Line 810: | ||
| WapScene02 | | WapScene02 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| Water00 | | Water00 | ||
| Line 651: | Line 817: | ||
| Water01 | | Water01 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| Water02 | | Water02 | ||
| Line 657: | Line 824: | ||
| Water03 | | Water03 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| Water04 | | Water04 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| Water05 | | Water05 | ||
| Line 665: | Line 834: | ||
|- | |- | ||
| Waterrise | | Waterrise | ||
| | | Unused Kingdom Valley object. Some kind of rippling water/mist. | ||
| ✓ | |||
|- | |- | ||
| Wood00 | | Wood00 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| Wood01 | | Wood01 | ||
| | | | ||
| ✓ | |||
|- | |- | ||
| Zakoress | | Zakoress | ||
| | | Referring to "雑魚" small-fry crowd of NPCs, the tiny shadow minions in Mephiles' boss fight. | ||
| ✓ | |||
|- | |- | ||
| ZakoressBillboard | | ZakoressBillboard | ||
| | | Billboarded approximation for distant Zakoress. | ||
|- | |- | ||
| zout_pt | | zout_pt | ||
| | | Used for rendering depth pre-pass for punchthrough. | ||
|- | |- | ||
| zout | | zout | ||
| | | Used for rendering depth pre-pass. | ||
|} | |} | ||
Latest revision as of 01:09, 3 December 2025
Shaders in Sonic the Hedgehog (2006) are compiled GPU programs that control the appearance of objects and effects. Most shaders have several different variants with different feature support. Multiplayer shaders may have additional optimisations, like replacing real-time planar reflections with cubemaps.
In the Xbox 360 version of the game, shaders are stored in the following archives:
| Type | Location |
|---|---|
| Singleplayer | /game/xenon/archives/shader.arc
|
| Multiplayer | /game/xenon/archives/shader_lt.arc
|
Within the archives, shaders are stored in a number of sub-folders.
| Folder | Description |
|---|---|
lm
|
Lightmapped |
lm_np
|
Lightmapped without point lights |
morph
|
Mesh morph |
morph_np
|
Mesh morph without point lights |
skin
|
Rigged meshes |
skin_np
|
Rigged meshes without point lights |
std
|
Standard |
np
|
Standard without point lights |
Many of the shaders within the sub-folders are exact duplicates of the standard variant.
Each of the shaders listed below are in the .fxo format in the 360 version of the game. Each shader can contain multiple techniques, which hold the respective vertex and fragment shaders.
The shader and specific technique used are defined per mesh set in XNO files. Some shaders are not referenced in XNO files, either because they are used internally or because they are unused altogether.
| Shader | Notes | Used in XNOs |
|---|---|---|
| AcrobataPrimitive | Used in rendering of Acroarts particle effects. | |
| Air00 | ✓ | |
| Animal00 | Used for Kingdom Valley eagle. | ✓ |
| Animal01 | ||
| Animal02 | ||
| AqaScene00 | ||
| AqaScene01 | ||
| AqaScene02 | ||
| Aqua00 | ✓ | |
| Artifact00 | ||
| Artifact01 | ||
| Artifact02 | ||
| Artifact03 | ||
| Artifact06 | ||
| Artifact07 | ||
| BackGround | ||
| balloonicon | Used for rendering quest "balloons" in hub worlds. | |
| Billboard00 | No lighting, CSM sampling or point lights support. | ✓ |
| Billboard01 | Vertex lighting and point lights, no CSM sampling. | ✓ |
| Billboard02 | By far the most used shader. Vertex lighting with no CSM sampling or point lights support. | ✓ |
| Billboard03 | Vertex lighting, CSM sampling and point lights. | ✓ |
| Billboard04 | Pixel lighting, CSM sampling, no point lights. | ✓ |
| Billboard05 | Pixel lighting, no CSM sampling or point lights. | ✓ |
| Billboard06 | Pixel lighting and point lights, no CSM sampling. | ✓ |
| Billboard07 | Unused. Pixel lighting, CSM sampling and point lights. | |
| BillboardSp00 | ✓ | |
| BillboardSp01 | ✓ | |
| BillboardSp02 | ✓ | |
| BloomFilter | ||
| bod_light | Used by "Book of Darkness" aka Scepter of Darkness. | ✓ |
| bod_metal | Used by "Book of Darkness" aka Scepter of Darkness. | ✓ |
| BurnoutBlurFilter | Responsible for the radial "motion" blur seen in the final game. Likely named after the Burnout racing series. | |
| ChaosDrive | ✓ | |
| CharacterMaterial | Responsible for rendering playable characters, NPCs, and many random hub world objects. By far the densest shader in the game, including many unused techniques. | ✓ |
| ColorCopyFilter | ||
| ColorCorrectionFilter | ||
| ColorOutFilter | Outputs a solid colour. Used for bright areas of spotlights in White Acropolis stealth sections. | |
| Common | ||
| conditional_rendering | Used in rendering of lens flare effect. | |
| CopyFilter | ||
| core_circle | ||
| CscGlass00 | ✓ | |
| CscGlass01 | ||
| CscGlass02 | ✓ | |
| CscScene00 | ✓ | |
| CscScene01 | ✓ | |
| CscScene02 | ||
| CscScene03 | ||
| csd | Used in rendering of CSD (UI) scenes. | |
| csd3D | Used for world-space UI like enemy health gauges. | |
| csdBG | ||
| cyl | ||
| DepthOfFieldFilter | Unused in the final game. Likely a depth of field effect similar to the one in Sonic Unleashed. | |
| DtdSand00 | ||
| DtdSand01 | ✓ | |
| DtdSand02 | ✓ | |
| DtdSand03 | ||
| DtdSand04 | ||
| DtdScene00 | ✓ | |
| DtdScene01 | ||
| DtdScene02 | ✓ | |
| DtdScene03 | ✓ | |
| DtdScene04 | ✓ | |
| DtdScene05 | ||
| ecb_light | Used for Egg Cerberus. | ✓ |
| ecb_metal | Used for Egg Cerberus. | ✓ |
| Effect00 | ✓ | |
| egen_light | Used for Egg Genesis. | ✓ |
| egen_metal | Used for Egg Genesis. | ✓ |
| egen_slight | Used for Egg Genesis. | ✓ |
| emob_light | Used for Egg Mobile. | ✓ |
| emob_metal | Used for Egg Mobile. | ✓ |
| en_bullet | ✓ | |
| en_laser00 | ||
| en_lava | ✓ | |
| en_light | ✓ | |
| en_lightani | ✓ | |
| en_metal | ✓ | |
| en_plating | ✓ | |
| en_rock | ✓ | |
| EndSky00 | ✓ | |
| FBTex_NrmMap | Used by esp_ripple and esp_Sphere
|
✓ |
| Fence00 | ✓ | |
| Fence01 | ✓ | |
| FlcCore00 | ✓ | |
| FlcScene00 | ✓ | |
| FlcScene01 | ||
| Fluff00 | ✓ | |
| Fog00 | ✓ | |
| font | Used in font rendering for CSD. | |
| fsol_armor | ✓ | |
| fsol_eye | ||
| fsol_fluid | ||
| Gadget_Glider | ||
| Gadget | ✓ | |
| gindows | ||
| Glass00 | ✓ | |
| Glass01 | ✓ | |
| Glass02 | ||
| Glass03 | ||
| iblis01_eye | ✓ | |
| iblis01_lava | ✓ | |
| iblis01_rock | ✓ | |
| iblis02_eye | Unused, iblis02.xno uses iblis01_eye. They seem more or less identical.
| |
| iblis02_lava | ✓ | |
| iblis02_rock | ✓ | |
| iblis03_eye | ✓ | |
| iblis03_lava | ✓ | |
| iblis03_rock | ✓ | |
| Ice00 | ✓ | |
| Ice01 | ✓ | |
| Ice02 | ✓ | |
| Ice03 | ||
| Item_Board | Crisis City snowboard. Separate from White Acropolis board. | ✓ |
| ItemGlass00 | ✓ | |
| ItemMetal00 | ✓ | |
| KdvAqua00 | ||
| KdvAqua01 | ✓ | |
| KdvMist00 | ✓ | |
| KdvRope | ||
| KdvWindRoad | ||
| Kyozoress | Likely referring to "巨像", the large monsters in Mephiles' final boss fight. | ✓ |
| Laser00 | ||
| Laser01 | ✓ | |
| Leaf00 | ✓ | |
| Leaf01 | ✓ | |
| lensflare | ||
| LightCore | ✓ | |
| Lightmap00 | ✓ | |
| Lightmap01 | ✓ | |
| LightmapSp00 | ✓ | |
| LightmapSp01 | ||
| LightmapSp02 | ✓ | |
| LightmapSp03 | ||
| LightmapSp04 | ✓ | |
| Luminous00 | ✓ | |
| Luminous01 | ✓ | |
| Luminous02 | ✓ | |
| Luminous03 | ✓ | |
| Luminous04 | ✓ | |
| Luminous05 | ✓ | |
| Luminous06 | ✓ | |
| Luminous07 | ||
| lzout_pt | ||
| lzout | ||
| Mantle00 | ✓ | |
| Mantle01 | ✓ | |
| Mantle02 | ✓ | |
| MarathonSpeedTree | ||
| MaskCopyFilter | ||
| Mefiress | ✓ | |
| MefiressSpecific | ✓ | |
| MefiressSpecific2 | ✓ | |
| Mercury | ||
| Metal00 | ✓ | |
| Metal01 | ✓ | |
| Metal02 | ✓ | |
| MotionBlurFilter | BurnoutBlurFilter is used in retail rather than this shader. | |
| movie | ||
| movieARGB | ||
| movieYUV420 | ||
| no_shader | ||
| OpticalCamouflage | Used for rendering camouflaged enemies. | |
| pe | ||
| PhaseShiftFilter | ||
| physicsviewer | ||
| player_homing | ||
| primitive | ||
| psi_effect | Used for rendering Silver's psychokinesis effects. | ✓ |
| Ring | ✓ | |
| rt_clear | ||
| rt_restoration | ||
| Rust00 | ✓ | |
| SampleFilter | ||
| scr_metal | ✓ | |
| Shield | ✓ | |
| simple | ||
| Sky00 | Used for Egg Wyvern fight and E0026 skybox. | ✓ |
| Sky01 | Used for Egg Wyvern fight skybox. | ✓ |
| Sky02 | Used for every other skybox not previously mentioned. | ✓ |
| Snow00 | ✓ | |
| Snow01 | ✓ | |
| Snow02 | ✓ | |
| Stone00 | ✓ | |
| Stone01 | ✓ | |
| Stone02 | ✓ | |
| Stone03 | ✓ | |
| Stone04 | ||
| Terrain00 | Only used by kdv_obj_D_bridge01
|
✓ |
| Terrain01 | Only used by tpj_obj_oldtree and tpj_obj_sphere
|
✓ |
| Terrain02 | Only used by csc_obj_groundA, csc_obj_groundB, and tpj_obj_sphere
|
✓ |
| Terrain03 | ||
| Terrain04 | Only used by e0125_map02_nos_ and tpj_mapA_roadlm
|
✓ |
| Terrain05 | Used extensively (91 times). | ✓ |
| Terrain06 | ||
| Terrain07 | ||
| Tex_Phone | ||
| Tex_Spec_Phone | ||
| TpjWater00 | ✓ | |
| TpjWater01 | ✓ | |
| TwnFence00 | ||
| TwnGate | Used for warp gates. | ✓ |
| TwnGlass00 | ||
| TwnGlideWire | ||
| TwnScene00 | ✓ | |
| TwnScene01 | ||
| TwnScene02 | ✓ | |
| TwnScene03 | ||
| vout | ||
| WapScene00 | ✓ | |
| WapScene01 | ||
| WapScene02 | ✓ | |
| Water00 | ||
| Water01 | ✓ | |
| Water02 | ||
| Water03 | ✓ | |
| Water04 | ✓ | |
| Water05 | ||
| Waterrise | Unused Kingdom Valley object. Some kind of rippling water/mist. | ✓ |
| Wood00 | ✓ | |
| Wood01 | ✓ | |
| Zakoress | Referring to "雑魚" small-fry crowd of NPCs, the tiny shadow minions in Mephiles' boss fight. | ✓ |
| ZakoressBillboard | Billboarded approximation for distant Zakoress. | |
| zout_pt | Used for rendering depth pre-pass for punchthrough. | |
| zout | Used for rendering depth pre-pass. |