34 lines
747 B
HLSL
34 lines
747 B
HLSL
|
|
cbuffer rotate_texture_steps_cbuffer : register(b1) {
|
||
|
|
int rotate_texture_steps;
|
||
|
|
};
|
||
|
|
|
||
|
|
cbuffer color_matrix_cbuffer : register(b3) {
|
||
|
|
float4 color_vec_y;
|
||
|
|
float4 color_vec_u;
|
||
|
|
float4 color_vec_v;
|
||
|
|
float2 range_y;
|
||
|
|
float2 range_uv;
|
||
|
|
};
|
||
|
|
|
||
|
|
#define PLANAR_VIEWPORTS
|
||
|
|
#include "include/base_vs.hlsl"
|
||
|
|
|
||
|
|
vertex_t main_vs(uint vertex_id : SV_VertexID)
|
||
|
|
{
|
||
|
|
vertex_t output = generate_fullscreen_triangle_vertex(vertex_id % 3, float2(0, 0), rotate_texture_steps);
|
||
|
|
|
||
|
|
output.viewport = vertex_id / 3;
|
||
|
|
|
||
|
|
if (output.viewport == 0) {
|
||
|
|
output.color_vec = color_vec_y;
|
||
|
|
}
|
||
|
|
else if (output.viewport == 1) {
|
||
|
|
output.color_vec = color_vec_u;
|
||
|
|
}
|
||
|
|
else {
|
||
|
|
output.color_vec = color_vec_v;
|
||
|
|
}
|
||
|
|
|
||
|
|
return output;
|
||
|
|
}
|