From 0639c2e9a3e1a1ecf36a66a5f2dd844b772856db Mon Sep 17 00:00:00 2001 From: vimene Date: Thu, 18 Dec 2025 16:24:32 +0100 Subject: added basic graphics pipeline and shaders --- src/shaders/shader.slang | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/shaders/shader.slang (limited to 'src/shaders') diff --git a/src/shaders/shader.slang b/src/shaders/shader.slang new file mode 100644 index 0000000..b5f7a54 --- /dev/null +++ b/src/shaders/shader.slang @@ -0,0 +1,30 @@ +static float2 positions[3] = float2[] ( + float2( 0.0, -0.5), + float2( 0.5, 0.5), + float2(-0.5, 0.5), +); + +static float3 colors[3] = float3[] ( + float3(1.0, 0.0, 0.0), + float3(0.0, 1.0, 0.0), + float3(0.0, 0.0, 1.0), +); + +struct VertexOutput { + float3 color; + float4 sv_position : SV_Position; +}; + +[shader("vertex")] +VertexOutput vert_main(uint vid : SV_VertexID) { + VertexOutput output; + output.color = colors[vid]; + output.sv_position = float4(positions[vid], 0.0, 1.0); + return output; +} + +[shader("fragment")] +float4 frag_main(VertexOutput vert) : SV_Target { + float3 color = vert.color; + return float4(color, 1.0); +} -- cgit v1.2.3