diff --git a/src/4.advanced_opengl/9.3.geometry_shader_normals/9.3.normal_visualization.gs b/src/4.advanced_opengl/9.3.geometry_shader_normals/9.3.normal_visualization.gs index 1bea216..a1b6607 100644 --- a/src/4.advanced_opengl/9.3.geometry_shader_normals/9.3.normal_visualization.gs +++ b/src/4.advanced_opengl/9.3.geometry_shader_normals/9.3.normal_visualization.gs @@ -8,11 +8,13 @@ in VS_OUT { const float MAGNITUDE = 0.2; +uniform mat4 projection; + void GenerateLine(int index) { - gl_Position = gl_in[index].gl_Position; + gl_Position = projection * gl_in[index].gl_Position; EmitVertex(); - gl_Position = gl_in[index].gl_Position + vec4(gs_in[index].normal, 0.0) * MAGNITUDE; + gl_Position = projection * (gl_in[index].gl_Position + vec4(gs_in[index].normal, 0.0) * MAGNITUDE); EmitVertex(); EndPrimitive(); } diff --git a/src/4.advanced_opengl/9.3.geometry_shader_normals/9.3.normal_visualization.vs b/src/4.advanced_opengl/9.3.geometry_shader_normals/9.3.normal_visualization.vs index 5cf6e44..1adefa7 100644 --- a/src/4.advanced_opengl/9.3.geometry_shader_normals/9.3.normal_visualization.vs +++ b/src/4.advanced_opengl/9.3.geometry_shader_normals/9.3.normal_visualization.vs @@ -6,13 +6,12 @@ out VS_OUT { vec3 normal; } vs_out; -uniform mat4 projection; uniform mat4 view; uniform mat4 model; void main() { mat3 normalMatrix = mat3(transpose(inverse(view * model))); - vs_out.normal = vec3(projection * vec4(normalMatrix * aNormal, 0.0)); - gl_Position = projection * view * model * vec4(aPos, 1.0); + vs_out.normal = vec3(vec4(normalMatrix * aNormal, 0.0)); + gl_Position = view * model * vec4(aPos, 1.0); } \ No newline at end of file