slang shader!
This commit is contained in:
1 parent
544e6da087
commit
35562dd3fb
8 files changed
+167
-146
No files matched your search
@@ -0,0 +1,48 @@
|
||||
struct VSInput {
|
||||
float2 pos;
|
||||
float2 scale;
|
||||
float2 uv;
|
||||
float4 color;
|
||||
float alpha;
|
||||
uint32_t textureID;
|
||||
};
|
||||
|
||||
struct VSOutput {
|
||||
float4 pos : SV_POSITION;
|
||||
float2 uv;
|
||||
float4 color;
|
||||
float alpha;
|
||||
uint32_t tex_id;
|
||||
};
|
||||
|
||||
static const float2 square[6] = {
|
||||
float2(-0.5, -0.5), // Top-left
|
||||
float2(-0.5, 0.5), // Bottom-left
|
||||
float2( 0.5, -0.5), // Top-right
|
||||
|
||||
float2( 0.5, -0.5), // Top-right
|
||||
float2(-0.5, 0.5), // Bottom-left
|
||||
float2( 0.5, 0.5) // Bottom-right
|
||||
};
|
||||
|
||||
[shader ("vertex")]
|
||||
VSOutput main(VSInput input, uint vertex_index : SV_VertexID) {
|
||||
VSOutput output;
|
||||
|
||||
float2 vertex_pos = square[vertex_index];
|
||||
float2 final_pos = (vertex_pos * input.scale) + input.pos;
|
||||
|
||||
output.pos = float4(final_pos, 0.0, 1.0);
|
||||
output.uv = input.uv;
|
||||
output.color = input.color;
|
||||
output.alpha = input.alpha;
|
||||
output.tex_id = input.textureID;
|
||||
|
||||
return output;
|
||||
}
|
||||
|
||||
[shader("fragment")]
|
||||
float4 main(VSOutput input) {
|
||||
|
||||
return float4(input.color.rgb, input.alpha);
|
||||
}
|
||||
Reference in new issue
Block a user