Files
Juliet/Assets/source/Debug.vert.hlsl
Patedam 891c404889 Added debug renderer + imgui renderer
All code made by gemini with some help
2026-01-20 22:46:10 -05:00

31 lines
892 B
HLSL

struct Output
{
float4 Color : TEXCOORD0;
float4 Position : SV_Position;
};
#include "RootConstants.hlsl"
Output main(uint vertexIndex : SV_VertexID)
{
Output output;
// Retrieve the vertex buffer using SM6.6 bindless syntax
ByteAddressBuffer buffer = ResourceDescriptorHeap[BufferIndex];
// TextureIndex is used as vertex offset for consolidated buffer (depth-tested at 0, overlay at halfMax)
uint actualVertexIndex = vertexIndex + TextureIndex;
// Vertex layout: float3 Position (12 bytes) + float4 Color (16 bytes) = 28 bytes stride
uint stride = 28;
uint offset = actualVertexIndex * stride;
float3 pos = asfloat(buffer.Load3(offset));
float4 col = asfloat(buffer.Load4(offset + 12));
// Standard row-major transformation
output.Position = mul(ViewProjection, float4(pos, 1.0f));
output.Color = col;
return output;
}