30 lines
615 B
Plaintext
30 lines
615 B
Plaintext
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 vertMain(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 fragMain(VertexOutput inVert) : SV_Target {
|
|
return float4(inVert.color, 1.0);
|
|
}
|