Sonic the Hedgehog (2006) Shaders
Shaders
These shaders are stored in game/xenon/archives/shader.arc
and game/xenon/archives/shader_lt.arc
in the 360 version of the game. Most shaders have several different variants with different feature support. Shaders in shader_lt.arc
are used in multiplayer and may have additional optimisations, like replacing real-time planar reflections with cubemaps.
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 subfolders will be 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 XNOs. Some shaders are not referenced in XNOs, 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 | ✓ | |
ItemGlass00 | ✓ | |
ItemMetal00 | ✓ | |
KdvAqua00 | ||
KdvAqua01 | ✓ | |
KdvMist00 | ✓ | |
KdvRope | ||
KdvWindRoad | ||
Kyozoress | ✓ | |
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 | ✓ | |
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 | ✓ | |
Wood00 | ✓ | |
Wood01 | ✓ | |
Zakoress | Referring to "雑魚" small-fry crowd of NPCs, the tiny shadow minions on Mephiles' boss fight. | ✓ |
ZakoressBillboard | Billboarded approximation for distant Zakoress. | |
zout_pt | ||
zout |