aboutsummaryrefslogtreecommitdiff
path: root/mp/src/materialsystem/stdshaders/DebugDrawDepth_vs20.fxc
diff options
context:
space:
mode:
Diffstat (limited to 'mp/src/materialsystem/stdshaders/DebugDrawDepth_vs20.fxc')
-rw-r--r--mp/src/materialsystem/stdshaders/DebugDrawDepth_vs20.fxc38
1 files changed, 38 insertions, 0 deletions
diff --git a/mp/src/materialsystem/stdshaders/DebugDrawDepth_vs20.fxc b/mp/src/materialsystem/stdshaders/DebugDrawDepth_vs20.fxc
new file mode 100644
index 00000000..647acde0
--- /dev/null
+++ b/mp/src/materialsystem/stdshaders/DebugDrawDepth_vs20.fxc
@@ -0,0 +1,38 @@
+// DYNAMIC: "COMPRESSED_VERTS" "0..1"
+// DYNAMIC: "SKINNING" "0..1"
+
+#include "common_vs_fxc.h"
+
+static const bool g_bSkinning = SKINNING ? true : false;
+
+const float2 cDepthFactor : register( SHADER_SPECIFIC_CONST_0 );
+
+struct VS_INPUT
+{
+ float4 vPos : POSITION;
+ float4 vBoneWeights : BLENDWEIGHT;
+ float4 vBoneIndices : BLENDINDICES;
+};
+
+struct VS_OUTPUT
+{
+ float4 projPos : POSITION;
+ float2 zValue : TEXCOORD0;
+};
+
+VS_OUTPUT main( const VS_INPUT v )
+{
+ VS_OUTPUT o = ( VS_OUTPUT )0;
+
+ float3 worldPos;
+ SkinPosition( g_bSkinning, v.vPos, v.vBoneWeights, v.vBoneIndices, worldPos );
+ float4 projPos = mul( float4( worldPos, 1 ), cViewProj );
+ o.projPos = projPos;
+ o.zValue.x = (o.projPos.z - cDepthFactor.y) / cDepthFactor.x;
+ o.zValue.y = (o.projPos.w - cDepthFactor.y) / cDepthFactor.x;
+ return o;
+}
+
+
+
+