diff options
Diffstat (limited to 'advanced_lighting/4.normal_mapping/shaders/depth.gs')
-rw-r--r-- | advanced_lighting/4.normal_mapping/shaders/depth.gs | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/advanced_lighting/4.normal_mapping/shaders/depth.gs b/advanced_lighting/4.normal_mapping/shaders/depth.gs new file mode 100644 index 0000000..638e2b9 --- /dev/null +++ b/advanced_lighting/4.normal_mapping/shaders/depth.gs @@ -0,0 +1,27 @@ +#version 330 core +layout(triangles) in; +layout(triangle_strip, max_vertices=18) out; + +uniform mat4 shadow_transforms[6]; + +out vec4 frag_pos; + +void +main(void) +{ + for (int face = 0; + face < 6; + ++face) + { + gl_Layer = face; + for (int vertex = 0; + vertex < 3; + ++vertex) + { + frag_pos = gl_in[vertex].gl_Position; + gl_Position = shadow_transforms[face]*frag_pos; + EmitVertex(); + } + EndPrimitive(); + } +} |