diff options
| author | Jason Maskell <[email protected]> | 2016-05-23 10:49:51 +0200 |
|---|---|---|
| committer | Jason Maskell <[email protected]> | 2016-05-23 10:49:51 +0200 |
| commit | 0837eb3bd53eccc2c9c1f949e4031d758654c3f5 (patch) | |
| tree | 17bd2839b74f7f498b22b22370bb5b7afed6ea17 /media/test/UI/DXUTShared.fx | |
| parent | Sample now compiles cleanly, doesn't run yet due to media path issues. (diff) | |
| download | waveworks_archive-0837eb3bd53eccc2c9c1f949e4031d758654c3f5.tar.xz waveworks_archive-0837eb3bd53eccc2c9c1f949e4031d758654c3f5.zip | |
Moved media to a more central location.
Changed CMake to compile shaders to that new location.
Diffstat (limited to 'media/test/UI/DXUTShared.fx')
| -rw-r--r-- | media/test/UI/DXUTShared.fx | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/media/test/UI/DXUTShared.fx b/media/test/UI/DXUTShared.fx new file mode 100644 index 0000000..f6d590b --- /dev/null +++ b/media/test/UI/DXUTShared.fx @@ -0,0 +1,69 @@ +//-------------------------------------------------------------------------------------- +// File: DXUTShared.fx +// +// +// +// Copyright (c) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + + +//-------------------------------------------------------------------------------------- +// Global variables +//-------------------------------------------------------------------------------------- +float4 g_MaterialDiffuseColor; // Material's diffuse color +float3 g_LightDir; // Light's direction in world space +float4x4 g_mWorld; // World matrix for object +float4x4 g_mWorldViewProjection; // World * View * Projection matrix + + + +//-------------------------------------------------------------------------------------- +// Vertex shader output structure +//-------------------------------------------------------------------------------------- +struct VS_OUTPUT +{ + float4 Position : POSITION; // vertex position + float4 Diffuse : COLOR0; // vertex diffuse color +}; + + +//-------------------------------------------------------------------------------------- +// This shader computes standard transform and lighting +//-------------------------------------------------------------------------------------- +VS_OUTPUT RenderWith1LightNoTextureVS( float4 vPos : POSITION, + float3 vNormal : NORMAL ) +{ + VS_OUTPUT Output; + + // Transform the position from object space to homogeneous projection space + Output.Position = mul(vPos, g_mWorldViewProjection); + + // Transform the normal from object space to world space + float3 vNormalWorldSpace; + vNormalWorldSpace = normalize(mul(vNormal, (float3x3)g_mWorld)); // normal (world space) + + // Compute simple directional lighting equation + Output.Diffuse.rgb = g_MaterialDiffuseColor * max(0,dot(vNormalWorldSpace, g_LightDir)); + Output.Diffuse.a = 1.0f; + + return Output; +} + + +//-------------------------------------------------------------------------------------- +float4 RenderWith1LightNoTexturePS( float4 Diffuse : COLOR0 ) : COLOR0 +{ + return Diffuse; +} + + +//-------------------------------------------------------------------------------------- +technique RenderWith1LightNoTexture +{ + pass P0 + { + VertexShader = compile vs_1_1 RenderWith1LightNoTextureVS(); + PixelShader = compile ps_1_1 RenderWith1LightNoTexturePS(); + } +} + |