Files
prosperon/shaders/common/vertex.hlsl
2025-11-22 09:43:51 -06:00

32 lines
665 B
HLSL

#include "common.hlsl"
struct input
{
float2 pos : pos; // given as world
float2 uv : uv; // always a quad
float4 color : color;
};
// Output structure from the vertex shader to the pixel shader
struct output
{
float4 pos : SV_Position; // Clip-space position
float2 uv : TEXCOORD0; // Texture coordinates
float4 color : COLOR0; // Interpolated vertex color
};
cbuffer model : register(b1, space1)
{
float4x4 model;
float4 color;
};
output main(input i)
{
output o;
float4 worldpos = mul(model, float4(i.pos,0,1));
o.pos = mul(world_to_projection, worldpos);
o.uv = i.uv;
o.color = i.color * color;
return o;
}