Mercurial > LightClone
view Data/Shaders/Environment.fx @ 49:48705dc6e568
Fix window issues; Start on GuiRenderContext
author | koryspansel |
---|---|
date | Fri, 23 Sep 2011 16:54:51 -0700 |
parents | fd55825393df |
children | b0f642ee22d3 |
line wrap: on
line source
extern uniform float4x4 kWorld; extern uniform float4x4 kView; extern uniform float4x4 kProjection; extern uniform float4 kColor; extern uniform texture kTexture; sampler TextureSampler = sampler_state { Texture = <kTexture>; MinFilter = ANISOTROPIC; MagFilter = ANISOTROPIC; AddressU = CLAMP; AddressV = CLAMP; }; struct VertexOutput { /* * kPosition */ float4 kPosition : POSITION0; /* * kTextureCoords */ float2 kTextureCoords : TEXCOORD0; }; VertexOutput EnvironmentVS(float3 kVertexPosition : POSITION0, float3 kVertexNormal : NORMAL, float2 kTextureCoords : TEXCOORD0) { float4x4 kWorldViewProjection = mul(mul(kWorld, kView), kProjection); VertexOutput kOutput; kOutput.kPosition = mul(float4(kVertexPosition, 1.0f), kWorldViewProjection); kOutput.kTextureCoords = kTextureCoords; return kOutput; } float4 EnvironmentPS(float2 kTextureCoords : TEXCOORD0) : COLOR0 { float4 kTexture = tex2D(TextureSampler, kTextureCoords); return float4(kTexture.rgb * kColor.rgb, kTexture.a); } technique Default { pass Pass0 { vertexShader = compile vs_2_0 EnvironmentVS(); pixelShader = compile ps_2_0 EnvironmentPS(); ZEnable = true; ZWriteEnable = true; ZFunc = LessEqual; } } technique Wire { pass Pass0 { vertexShader = compile vs_2_0 EnvironmentVS(); pixelShader = compile ps_2_0 EnvironmentPS(); ZEnable = true; ZWriteEnable = false; ZFunc = LessEqual; FillMode = Wireframe; } }