diff options
Diffstat (limited to 'src/shaders')
| -rw-r--r-- | src/shaders/shader.slang | 30 |
1 files changed, 30 insertions, 0 deletions
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); +} |
