Orange/src/Orange/Render/Shaders/vs_Mesh.vert

36 lines
669 B
GLSL

#version 450
#extension GL_ARB_shader_draw_parameters : enable
struct UniformData
{
mat4 projection;
mat4 view;
};
layout(push_constant) uniform p_constants_t
{
uint frame;
} p_constants;
layout(binding = 0) uniform u_data_t
{
UniformData frame[4];
} u_data;
layout(location = 0) in vec3 i_pos;
layout(location = 1) in vec2 i_uv;
layout(location = 2) in vec3 i_normal;
layout(location = 0) out flat int o_id;
layout(location = 1) out vec2 o_uv;
void main()
{
gl_Position =
u_data.frame[p_constants.frame].projection *
u_data.frame[p_constants.frame].view *
vec4(i_pos, 1.0);
o_id = gl_DrawIDARB;
o_uv = i_uv;
}