aboutsummaryrefslogtreecommitdiff
path: root/samples/D3D12/src/Viewer.hlsl
diff options
context:
space:
mode:
Diffstat (limited to 'samples/D3D12/src/Viewer.hlsl')
-rw-r--r--samples/D3D12/src/Viewer.hlsl40
1 files changed, 40 insertions, 0 deletions
diff --git a/samples/D3D12/src/Viewer.hlsl b/samples/D3D12/src/Viewer.hlsl
new file mode 100644
index 0000000..b3b418c
--- /dev/null
+++ b/samples/D3D12/src/Viewer.hlsl
@@ -0,0 +1,40 @@
+struct VSIn
+{
+ float3 pos : POSITION;
+ float3 normal : NORMAL;
+};
+
+struct VSOut
+{
+ float4 pos : SV_POSITION;
+ float3 normal : TEXCOORD;
+};
+
+cbuffer Scene
+{
+ float4x4 worldViewProjMatrix;
+ float4x4 worldMatrix;
+};
+
+VSOut VSMain(VSIn vsIn)
+{
+ VSOut output;
+ output.pos = mul(float4(vsIn.pos.xyz, 1), worldViewProjMatrix);
+ output.normal = mul(vsIn.normal.xyz, (float3x3)(worldMatrix));
+ return output;
+}
+
+struct PSOutputDepthTextures
+{
+ float4 WorldNormal : SV_Target0;
+};
+
+PSOutputDepthTextures PSMain(VSOut vsOut)
+{
+ PSOutputDepthTextures OUT;
+
+ float3 worldNormal = normalize(vsOut.normal);
+ OUT.WorldNormal = float4(worldNormal.xyz, 1.f);
+
+ return OUT;
+} \ No newline at end of file