cbuffer MatrixBuffer { matrix WorldViewProjectionMatrix; }; struct VertexInput { float4 position : POSITION; float4 color : COLOR; }; struct VertexOutput { float4 position : SV_POSITION; float4 color : COLOR; }; VertexOutput main(VertexInput INPUT) { VertexOutput OUTPUT; OUTPUT.position = mul(INPUT.position, WorldViewProjectionMatrix); OUTPUT.color = INPUT.color; return OUTPUT; }