diff options
| author | Miles Macklin <[email protected]> | 2017-06-09 13:41:15 +1200 |
|---|---|---|
| committer | Miles Macklin <[email protected]> | 2017-06-09 13:41:15 +1200 |
| commit | 688b5f42e9bfe498d7af7075d4d8f4429867f3a3 (patch) | |
| tree | 7e0d0e7c95298f0418723abd92f61ac6e16b055e /demo/d3d/shaders/diffuseVS.hlsl | |
| parent | Update README.md (diff) | |
| download | flex-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.hlsl | 25 |
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; +} |