43 lines
797 B
HLSL
43 lines
797 B
HLSL
#include "shaders/common.hlsl"
|
|
|
|
struct vs_input {
|
|
DECL(float4, pos);
|
|
DECL(float4, color_srgb);
|
|
};
|
|
|
|
struct ps_input {
|
|
DESV(float4, screen_pos, SV_POSITION);
|
|
DECL(float4, color_lin);
|
|
};
|
|
|
|
/* ========================== *
|
|
* Globals
|
|
* ========================== */
|
|
|
|
cbuffer constants : register(b0)
|
|
{
|
|
float4x4 G_projection;
|
|
};
|
|
|
|
/* ========================== *
|
|
* Vertex shader
|
|
* ========================== */
|
|
|
|
ps_input vs_main(vs_input input)
|
|
{
|
|
ps_input output;
|
|
output.screen_pos = mul(G_projection, float4(input.pos.xy, 0.f, 1.f));
|
|
output.color_lin = linear_from_srgb(input.color_srgb);
|
|
|
|
return output;
|
|
}
|
|
|
|
/* ========================== *
|
|
* Pixel shader
|
|
* ========================== */
|
|
|
|
float4 ps_main(ps_input input) : SV_TARGET
|
|
{
|
|
return input.color_lin;
|
|
}
|