cube.hlsl 546 B

12345678910111213141516171819202122232425262728293031
  1. #define REG(reg, space) register(reg, space)
  2. cbuffer UBO : REG(b0, space1)
  3. {
  4. float4x4 ModelViewProj;
  5. };
  6. struct VSInput
  7. {
  8. float3 Position : TEXCOORD0;
  9. float3 Color : TEXCOORD1;
  10. };
  11. struct VSOutput
  12. {
  13. float4 Color : TEXCOORD0;
  14. float4 Position : SV_Position;
  15. };
  16. VSOutput VSMain(VSInput input)
  17. {
  18. VSOutput output;
  19. output.Color = float4(input.Color, 1.0f);
  20. output.Position = mul(ModelViewProj, float4(input.Position, 1.0f));
  21. return output;
  22. }
  23. float4 PSMain(VSOutput input) : SV_Target0
  24. {
  25. return input.Color;
  26. }