Jump to content

Sonic the Hedgehog (2006) Shaders: Difference between revisions

From HedgeDocs
No edit summary
No edit summary
Line 99: Line 99:
|-
|-
| 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
Line 145: Line 145:
|-
|-
| 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.
| ✓
| ✓
|-
|-
Line 724: Line 724:
|-
|-
| Terrain01
| Terrain01
| Only used by <code>tpj_obj_oldtree</code> and <code>tpj_obj_sphere.xno</code>
| Only used by <code>tpj_obj_oldtree</code> and <code>tpj_obj_sphere</code>
| ✓
| ✓
|-
|-

Revision as of 23:18, 7 September 2025

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