31 lines
660 B
Plaintext
31 lines
660 B
Plaintext
struct VertexStageOutput
|
|||
|
|
{
|
||
|
|
float4 position : SV_Position;
|
||
|
|
float2 uvCoords : TEXCOORD;
|
||
|
|
};
|
||
|
|
|
||
|
|
|
||
|
|
[shader("vertex")]
|
||
|
|
VertexStageOutput vertexMain(uint vertexId : SV_VertexID)
|
||
|
|
{
|
||
|
|
float2 coordinates[4] = {
|
||
|
|
float2(0, 0),
|
||
|
|
float2(0, 1),
|
||
|
|
float2(1, 0),
|
||
|
|
float2(1, 1)
|
||
|
|
};
|
||
|
|
VertexStageOutput output;
|
||
|
|
output.uvCoords = coordinates[vertexId];
|
||
|
|
output.position = float4(output.uvCoords * 2 - 1, 1, 1);
|
||
|
|
output.position.y = -output.position.y;
|
||
|
|
return output;
|
||
|
|
}
|
||
|
|
|
||
|
|
[shader("fragment")]
|
||
|
|
float4 fragmentMain(
|
||
|
|
float4 position : SV_Position,
|
||
|
|
float2 uvCoords : TEXCOORD
|
||
|
|
) : SV_Target
|
||
|
|
{
|
||
|
|
return float4(0, 1, 0, 1);
|
||
|
|
}
|