aboutsummaryrefslogtreecommitdiff
path: root/demo/d3d/shaders/diffuseVS.hlsl
diff options
context:
space:
mode:
authorMiles Macklin <[email protected]>2017-06-09 13:41:15 +1200
committerMiles Macklin <[email protected]>2017-06-09 13:41:15 +1200
commit688b5f42e9bfe498d7af7075d4d8f4429867f3a3 (patch)
tree7e0d0e7c95298f0418723abd92f61ac6e16b055e /demo/d3d/shaders/diffuseVS.hlsl
parentUpdate README.md (diff)
downloadflex-1.2.0.beta.1.tar.xz
flex-1.2.0.beta.1.zip
1.2.0.beta.11.2.0.beta.1
Diffstat (limited to 'demo/d3d/shaders/diffuseVS.hlsl')
-rw-r--r--demo/d3d/shaders/diffuseVS.hlsl25
1 files changed, 25 insertions, 0 deletions
diff --git a/demo/d3d/shaders/diffuseVS.hlsl b/demo/d3d/shaders/diffuseVS.hlsl
new file mode 100644
index 0000000..303b896
--- /dev/null
+++ b/demo/d3d/shaders/diffuseVS.hlsl
@@ -0,0 +1,25 @@
+#include "shaderCommon.h"
+
+cbuffer constBuf : register(b0)
+{
+ DiffuseShaderConst gParams;
+};
+
+DiffuseVertexOut diffuseVS(DiffuseVertexIn input)
+{
+ float3 worldPos = input.position.xyz;
+ float4 eyePos = mul(gParams.modelView, float4(worldPos, 1.0));
+
+ DiffuseVertexOut output;
+
+ output.worldPos = input.position; // lifetime in w
+ output.viewPos = eyePos;
+ output.viewVel = mul(gParams.modelView, float4(input.velocity.xyz, 0.0));
+ output.color = gParams.color;
+
+ // compute ndc pos for frustrum culling in GS
+ float4 ndcPos = mul(gParams.modelViewProjection, float4(worldPos.xyz, 1.0));
+ output.ndcPos = ndcPos / ndcPos.w;
+
+ return output;
+}