25 lines
548 B
GLSL
25 lines
548 B
GLSL
#version 330 core
|
|
layout(location = 0) in vec3 aPos;
|
|
layout(location = 1) in vec2 aUv;
|
|
layout(location = 2) in float aShade;
|
|
|
|
out vec2 vUv;
|
|
out float vShade;
|
|
out float vWorldY;
|
|
out vec3 vWorldPos;
|
|
|
|
uniform mat4 model;
|
|
uniform mat4 view;
|
|
uniform mat4 projection;
|
|
|
|
void main()
|
|
{
|
|
vUv = aUv;
|
|
vShade = aShade;
|
|
// World-space position uses row-vector convention (matches gl_Position below).
|
|
vec4 worldPos = vec4(aPos, 1.0) * model;
|
|
vWorldPos = worldPos.xyz;
|
|
vWorldY = worldPos.y;
|
|
gl_Position = worldPos * view * projection;
|
|
}
|