Jump to content

Sonic the Hedgehog (2006) Shaders

From HedgeDocs

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.
Cookies help us deliver our services. By using our services, you agree to our use of cookies.