aboutsummaryrefslogtreecommitdiff
path: root/demo/d3d/shaders/pointVS.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/pointVS.hlsl
parentUpdate README.md (diff)
downloadflex-688b5f42e9bfe498d7af7075d4d8f4429867f3a3.tar.xz
flex-688b5f42e9bfe498d7af7075d4d8f4429867f3a3.zip
1.2.0.beta.11.2.0.beta.1
Diffstat (limited to 'demo/d3d/shaders/pointVS.hlsl')
-rw-r--r--demo/d3d/shaders/pointVS.hlsl25
1 files changed, 25 insertions, 0 deletions
diff --git a/demo/d3d/shaders/pointVS.hlsl b/demo/d3d/shaders/pointVS.hlsl
new file mode 100644
index 0000000..ecd1e38
--- /dev/null
+++ b/demo/d3d/shaders/pointVS.hlsl
@@ -0,0 +1,25 @@
+#include "shaderCommon.h"
+
+cbuffer constBuf : register(b0)
+{
+ PointShaderConst gParams;
+};
+
+PointVertexOut pointVS(PointVertexIn input, uint instance : SV_VertexID)
+{
+ const float4 modelPosition = input.position;
+ const float4x4 modelViewMatrix = gParams.modelView;
+
+ float density = input.density;
+ int phase = input.phase;
+
+ // calculate window-space point size
+ float4 viewPos = mul(modelViewMatrix, float4(modelPosition.xyz, 1.0));
+
+ PointVertexOut output;
+ output.viewPosition = viewPos;
+ output.density = density;
+ output.phase = phase;
+ output.modelPosition = modelPosition;
+ return output;
+}