aboutsummaryrefslogtreecommitdiff
path: root/mp/src/materialsystem/stdshaders/debugluxel_vs20.fxc
diff options
context:
space:
mode:
authorMichael Sartain <[email protected]>2014-10-02 08:25:55 -0700
committerMichael Sartain <[email protected]>2014-10-02 08:25:55 -0700
commit55ed12f8d1eb6887d348be03aee5573d44177ffb (patch)
tree3686f7ca78c780cd9a3d367b79a9d9250c1be7c0 /mp/src/materialsystem/stdshaders/debugluxel_vs20.fxc
parent* Added support for Visual C++ 2013 Express to VPC (diff)
downloadsource-sdk-2013-55ed12f8d1eb6887d348be03aee5573d44177ffb.tar.xz
source-sdk-2013-55ed12f8d1eb6887d348be03aee5573d44177ffb.zip
Updated the SDK with the latest code from the TF and HL2 branches.
Diffstat (limited to 'mp/src/materialsystem/stdshaders/debugluxel_vs20.fxc')
-rw-r--r--mp/src/materialsystem/stdshaders/debugluxel_vs20.fxc40
1 files changed, 40 insertions, 0 deletions
diff --git a/mp/src/materialsystem/stdshaders/debugluxel_vs20.fxc b/mp/src/materialsystem/stdshaders/debugluxel_vs20.fxc
new file mode 100644
index 00000000..3edee90b
--- /dev/null
+++ b/mp/src/materialsystem/stdshaders/debugluxel_vs20.fxc
@@ -0,0 +1,40 @@
+#include "common_vs_fxc.h"
+
+const float4 cLightmapTexCoordTransform[2] : register( SHADER_SPECIFIC_CONST_0 );
+
+struct VS_INPUT
+{
+ float3 vPos : POSITION;
+ float2 vBaseTexCoord : TEXCOORD0;
+ float2 vLightmapTexCoord : TEXCOORD1;
+};
+
+struct VS_OUTPUT
+{
+ float4 projPos : POSITION;
+ float2 baseTexCoord : TEXCOORD0;
+};
+
+
+VS_OUTPUT main( const VS_INPUT v )
+{
+ VS_OUTPUT o = ( VS_OUTPUT )0;
+
+ float4 projPos;
+ float3 worldPos;
+
+ worldPos = mul4x3( float4( v.vPos, 1 ), cModel[0] );
+ projPos = mul( float4( worldPos, 1 ), cViewProj );
+ o.projPos = projPos;
+
+ o.baseTexCoord.x = dot( v.vLightmapTexCoord, cLightmapTexCoordTransform[0].xy ) + cLightmapTexCoordTransform[0].w;
+ o.baseTexCoord.y = dot( v.vLightmapTexCoord, cLightmapTexCoordTransform[1].xy ) + cLightmapTexCoordTransform[1].w;
+
+#ifdef _PS3
+ // Account for OpenGL's flipped y coordinate and expanded z range [-1,1] instead of [0,1]
+ o.projPos.y = -o.projPos.y;
+ o.projPos.z = 2.0f * o.projPos.z - o.projPos.w;
+#endif // _PS3
+
+ return o;
+}