Backlog/engine/rend/shaders/debug.vert.hlsl

39 lines
611 B
HLSL

struct Input
{
float3 Position : TEXCOORD0;
uint Instance : SV_InstanceID;
};
struct Output
{
float3 Color : TEXCOORD0;
float4 Position : SV_Position;
};
struct Scene
{
float4x4 Model;
float4 Color;
};
StructuredBuffer<Scene> scene: register(t0, space0);
cbuffer Uniforms : register(b0, space1)
{
float4x4 ViewProjection;
};
Output main(Input input)
{
Output output;
float4 pos = float4(input.Position, 1.0);
output.Position = mul(ViewProjection, mul(scene[input.Instance].Model, pos));
output.Color = scene[input.Instance].Color.xyz;
return output;
}