terrain-gen/shaders/normal.geom

24 lines
467 B
GLSL

# version 420 core
uniform mat3 u_normalMatrix;
uniform mat4 u_model;
uniform mat4 u_view;
uniform mat4 u_projection;
layout(points, invocations = 1) in;
layout(line_strip, max_vertices = 2) out;
in vec3 gNormal[];
void main() {
gl_Position = u_projection * u_view * u_model * gl_in[0].gl_Position;
EmitVertex();
gl_Position = u_projection * u_view * u_model * (gl_in[0].gl_Position + vec4(gNormal[0], 0));
EmitVertex();
EndPrimitive();
}