Initial commit for vulkan tutorial
Following along the first 9 chapters of the Vulkan HelloTriangle tutorial.
This commit is contained in:
29
shaders/09_shader_base.slang
Normal file
29
shaders/09_shader_base.slang
Normal file
@@ -0,0 +1,29 @@
|
||||
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);
|
||||
}
|
||||
Reference in New Issue
Block a user