aboutsummaryrefslogtreecommitdiff
path: root/samples/media/UI/DXUTShared.fx
diff options
context:
space:
mode:
authorMarco Foco <[email protected]>2016-03-07 15:47:07 +0100
committerMarco Foco <[email protected]>2016-03-08 16:04:19 +0100
commitcd6e0492903f8a9eb5efa14263d7d9ab092517de (patch)
tree05c010b75bf777335565819dcceb140886c5a7e9 /samples/media/UI/DXUTShared.fx
downloadfaceworks-cd6e0492903f8a9eb5efa14263d7d9ab092517de.tar.xz
faceworks-cd6e0492903f8a9eb5efa14263d7d9ab092517de.zip
FaceWorks 1.0
Diffstat (limited to 'samples/media/UI/DXUTShared.fx')
-rw-r--r--samples/media/UI/DXUTShared.fx69
1 files changed, 69 insertions, 0 deletions
diff --git a/samples/media/UI/DXUTShared.fx b/samples/media/UI/DXUTShared.fx
new file mode 100644
index 0000000..f6d590b
--- /dev/null
+++ b/samples/media/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();
+ }
+}
+