| |
| cbuffer ConstantBuffer : register( b0 ) |
| { |
| matrix World; |
| matrix View; |
| matrix Projection; |
| }; |
| |
| struct VS_INPUT |
| { |
| float4 Pos : POSITION; |
| float3 Norm : NORMAL; |
| }; |
| |
| struct PS_INPUT |
| { |
| float4 Pos : SV_POSITION; |
| float3 Norm : TEXCOORD0; |
| }; |
| |
| PS_INPUT main( VS_INPUT input ) |
| { |
| int ConstantBuffer = 42; // test ConstantBuffer as an identifier |
| |
| PS_INPUT output = (PS_INPUT)0; |
| output.Pos = mul( input.Pos, World ); |
| output.Pos = mul( output.Pos, View ); |
| output.Pos = mul( output.Pos, Projection ); |
| output.Norm = mul( input.Norm, World ); // Work when output.Norm = mul( input.Norm, (float3x3)World ); |
| |
| return output; |
| } |