| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266 |
- //////////////////////////////////////////////////////////////////////////////
- // ©2005 Electronic Arts Inc
- //
- // FX Shader for shadow map debugging
- //////////////////////////////////////////////////////////////////////////////
- #include "Common.fxh"
- SAMPLER_2D_BEGIN( ShadowMap,
- string SasBindAddress = "Sas.Shadow[0].ShadowMap";
- )
- MinFilter = Point;
- MagFilter = Point;
- MipFilter = Point;
- AddressU = Clamp;
- AddressV = Clamp;
- SAMPLER_2D_END
- float4 FlatColorOverride
- <
- string UIWidget = "None";
- string SasBindAddress = "WW3D.FlatColor";
- int WW3DDynamicSet = DS_CUSTOM_FIRST;
- >;
- // ----------------------------------------------------------------------------
- // Transformations
- // ----------------------------------------------------------------------------
- float4x4 WorldViewProjection : WorldViewProjection;
- // ----------------------------------------------------------------------------
- struct VSOutput_Texture1
- {
- float4 Position : POSITION;
- float2 BaseTexCoord : TEXCOORD0;
- };
- // ----------------------------------------------------------------------------
- struct VSOutput_FlatColor
- {
- float4 Position : POSITION;
- float4 DiffuseColor : COLOR0;
- };
- // ----------------------------------------------------------------------------
- VSOutput_Texture1 VS_ShadowMap(float3 Position : POSITION, float2 TexCoord0 : TEXCOORD0)
- {
- VSOutput_Texture1 Out;
- Out.Position = float4(Position, 1);
- Out.BaseTexCoord = TexCoord0;
- return Out;
- }
- // ----------------------------------------------------------------------------
- VSOutput_FlatColor VS_FlatColor(float3 Position : POSITION, float4 color : COLOR0 )
- {
- VSOutput_FlatColor Out;
-
- Out.Position = mul(float4(Position, 1), WorldViewProjection);
- Out.DiffuseColor = color;
-
- return Out;
- }
- // ----------------------------------------------------------------------------
- VSOutput_FlatColor VS_FlatColorOveride(float3 Position : POSITION )
- {
- VSOutput_FlatColor Out;
-
- Out.Position = mul(float4(Position, 1), WorldViewProjection);
- Out.DiffuseColor = FlatColorOverride;
-
- return Out;
- }
- // ----------------------------------------------------------------------------
- VSOutput_FlatColor VS_Box(float3 Position : POSITION, float3 Normal : NORMAL,
- float4 color : COLOR0 )
- {
- VSOutput_FlatColor Out;
-
- Out.Position = mul(float4(Position, 1), WorldViewProjection);
- Out.DiffuseColor = color;
- Out.DiffuseColor.xyz
- = saturate(dot(Normal, float3(0.5, 0.25, 0.5))) * float3(0.8, 0.7, 0.2)
- + saturate(dot(Normal, -float3(0.5, 0.25, 0.5))) * float3(0.0, 0.3, 0.9);
-
- return Out;
- }
- // ----------------------------------------------------------------------------
- float4 PS_ShadowMap(VSOutput_Texture1 In) : COLOR
- {
- float4 color = (float)tex2D( SAMPLER(ShadowMap), In.BaseTexCoord);
- return color;
- }
- // ----------------------------------------------------------------------------
- float4 PS_FlatColor(VSOutput_FlatColor In) : COLOR
- {
- // Get vertex color
- float4 color = In.DiffuseColor;
- return color;
- }
- // ----------------------------------------------------------------------------
- technique DisplayShadowMap
- {
- pass P0
- {
- VertexShader = compile VS_2_0 VS_ShadowMap();
- PixelShader = compile PS_2_0 PS_ShadowMap();
- ZEnable = false;
- ZWriteEnable = false;
- CullMode = None;
- AlphaBlendEnable = false;
- AlphaTestEnable = false;
- }
- }
- // ----------------------------------------------------------------------------
- technique DebugIcons_Regular
- {
- pass P0
- {
- VertexShader = compile VS_2_0 VS_FlatColor();
- PixelShader = compile PS_2_0 PS_FlatColor();
- ZEnable = false;
- ZFunc = LessEqual;
- ZWriteEnable = false;
- CullMode = CW;
- AlphaBlendEnable = true;
- SrcBlend = SrcAlpha;
- DestBlend = InvSrcAlpha;
- ColorWriteEnable = RGBA;
- AlphaTestEnable = false;
- }
- }
- // ----------------------------------------------------------------------------
- technique DebugDisplay
- {
- pass P0
- {
- VertexShader = compile VS_2_0 VS_FlatColorOveride();
- PixelShader = compile PS_2_0 PS_FlatColor();
- ZEnable = false;
- ZFunc = LessEqual;
- ZWriteEnable = false;
- CullMode = None;
- AlphaBlendEnable = false;
- AlphaTestEnable = false;
- // FogEnable = false;
- }
- }
- // ----------------------------------------------------------------------------
- technique DrawObject_Opaque
- {
- pass P0
- {
- VertexShader = compile VS_2_0 VS_FlatColor();
- PixelShader = compile PS_2_0 PS_FlatColor();
-
- #if !defined(EA_PLATFORM_PS3)
- FillMode = Solid;
- #endif
- ZEnable = false;
- ZWriteEnable = false;
- CullMode = None;
- AlphaBlendEnable = false;
- AlphaTestEnable = false;
- ColorWriteEnable = RGBA;
- }
- }
- // ----------------------------------------------------------------------------
- technique DrawObject_Opaque_ZTest
- {
- pass P0
- {
- VertexShader = compile VS_2_0 VS_FlatColor();
- PixelShader = compile PS_2_0 PS_FlatColor();
-
- #if !defined(EA_PLATFORM_PS3)
- FillMode = Solid;
- #endif
- ZEnable = true;
- ZFunc = ZFUNC_INFRONT;
- ZWriteEnable = false;
- CullMode = None;
- AlphaBlendEnable = false;
- AlphaTestEnable = false;
- ColorWriteEnable = RGBA;
- }
- }
- // ----------------------------------------------------------------------------
- technique DrawObject_Alpha
- {
- pass P0
- {
- VertexShader = compile VS_2_0 VS_FlatColor();
- PixelShader = compile PS_2_0 PS_FlatColor();
-
- #if !defined(EA_PLATFORM_PS3)
- FillMode = Solid;
- #endif
- ZEnable = false;
- ZWriteEnable = false;
- CullMode = None;
- AlphaBlendEnable = true;
- SrcBlend = SrcAlpha;
- DestBlend = InvSrcAlpha;
-
- AlphaTestEnable = false;
- ColorWriteEnable = RGBA;
- }
- }
- // ----------------------------------------------------------------------------
- technique CollisionBox
- {
- pass P0
- {
- VertexShader = compile VS_2_0 VS_Box();
- PixelShader = compile PS_2_0 PS_FlatColor();
-
- #if !defined(EA_PLATFORM_PS3)
- FillMode = Solid;
- #endif
- ZEnable = true;
- ZFunc = ZFUNC_INFRONT;
- ZWriteEnable = false;
- CullMode = None;
- AlphaBlendEnable = true;
- SrcBlend = SrcAlpha;
- DestBlend = InvSrcAlpha;
-
- AlphaTestEnable = false;
- ColorWriteEnable = RGBA;
- }
- }
|