| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- //////////////////////////////////////////////////////////////////////////////
- // ©2007 Electronic Arts Inc
- //
- // Scrape script for Shadow Mapping
- //////////////////////////////////////////////////////////////////////////////
- #ifndef SCRAPE_SCRIPT_SHADOW_SCRAPEH
- #define SCRAPE_SCRIPT_SHADOW_SCRAPEH
- //
- // ShadowMapping
- //
- // Shadow mapping
- var texture ShadowMapTexture $Sas.Shadow[0].MapSize $Sas.Shadow[0].MapSize R32F
- #if defined(EA_PLATFORM_WINDOWS)
- #define ShadowMapRenderTarget ShadowMapTexture
- var surface ShadowMapDepthBuffer edramdepth $Sas.Shadow[0].MapSize $Sas.Shadow[0].MapSize D24S8
-
- #elif defined(EA_PLATFORM_XENON)
- var surface ShadowMapRenderTarget edram $Sas.Shadow[0].MapSize $Sas.Shadow[0].MapSize R32F
- var surface ShadowMapDepthBuffer edramdepth $Sas.Shadow[0].MapSize $Sas.Shadow[0].MapSize D24FS8
- var surfacegroup ShadowMapGroup ShadowMapRenderTarget ShadowMapDepthBuffer
- #endif
- var camera ShadowMap
- // Moved from common because the shadow pass and depth pass render different things.
- proc renderShadowCasters
- if DebugToggle BaselineRendering.IsEnabled
- if DebugToggle TerrainCaster.IsEnabled
- renderTerrain
- endif
- endif
- // Render cliffs, sea walls, road segments over terrain but below scorch marks
- renderbin TerrainLikeGroundObject
- renderbin Bridge
-
- if DebugToggle BaselineRendering.IsEnabled
- renderProps
- endif
- beginevent RenderCasters_Units
- callproc renderBinsUnit
- callproc renderBinsUnitOutline
- endevent RenderCasters_Units
- renderbin Solid
- if DebugToggle StructureCaster.IsEnabled
- beginevent RenderCasters_Structures
- renderbin Structure
- callproc renderBinsStructureOutline
- endevent RenderCasters_Structures
- endif
- renderbin StaticSort5 // Underwater Sorting
- callproc renderBinsStaticSort
- renderbin Transparent
- renderTransparentOutlineObjects
- endproc
- proc updateShadowTexture
- if Sas ShadowMappingEnabled
- beginevent UpdateShadowMap
-
- settarget 0 ShadowMapRenderTarget
- setdepth ShadowMapDepthBuffer
-
- shadowMap.beginUpdate
- beginShadowOverrideTechnique
-
- setclearcolor 1 1 1 1
- setcleardepth 1.0
- clear
-
- setcamera ShadowMap
- visibleobjects ShadowMap
-
- callproc renderShadowCasters
- endShadowOverrideTechnique
- shadowMap.endUpdate
-
- #if defined(EA_PLATFORM_XENON)
- resolve ShadowMapTexture
- #endif
-
- endevent UpdateShadowMap
- endif // Sas ShadowMappingEnabled
- endproc
- #endif // SCRAPE_SCRIPT_SHADOW_SCRAPEH
|