nuclear-plant-sim/assets/shader/model.vert

30 lines
583 B
GLSL
Raw Normal View History

2024-07-07 18:30:53 +10:00
2024-07-09 17:45:05 +10:00
#include "header.glsl"
2024-07-07 18:30:53 +10:00
2024-07-09 17:45:05 +10:00
layout (location = 0) in vec4 v_pos;
2024-07-07 18:30:53 +10:00
layout (location = 1) in vec4 v_colour;
2024-07-09 17:45:05 +10:00
layout (location = 2) in vec2 v_uv;
layout (location = 3) in uint v_texid;
2024-07-07 18:30:53 +10:00
out VS_OUT {
vec4 pos;
vec4 colour;
2024-07-09 17:45:05 +10:00
vec2 uv;
flat uint texid;
2024-07-07 18:30:53 +10:00
} vout;
uniform mat4 u_model = mat4(1);
uniform mat4 u_view = mat4(1);
uniform mat4 u_projection = mat4(1);
void main() {
mat4 mat_mv = u_view * u_model;
2024-07-09 17:45:05 +10:00
vout.pos = mat_mv * v_pos;
2024-07-07 18:30:53 +10:00
vout.colour = v_colour;
2024-07-09 17:45:05 +10:00
vout.uv = v_uv;
vout.texid = v_texid;
2024-07-08 01:37:55 +10:00
vec4 p = u_projection * vout.pos;
gl_Position = vec4(p.xy, 2 / (p.z + 2) - 1, p.w);
2024-07-07 18:30:53 +10:00
}