diff options
Diffstat (limited to 'gfx/gl/shaders/commonShadowPoint.gs')
-rw-r--r-- | gfx/gl/shaders/commonShadowPoint.gs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/gfx/gl/shaders/commonShadowPoint.gs b/gfx/gl/shaders/commonShadowPoint.gs new file mode 100644 index 0000000..b008f29 --- /dev/null +++ b/gfx/gl/shaders/commonShadowPoint.gs @@ -0,0 +1,22 @@ +#version 330 core +#extension GL_ARB_viewport_array : enable + +uniform mat4 viewProjection[4]; +uniform int viewProjections; +in vec4 vworldPos[]; +layout(triangles) in; +layout(triangle_strip, max_vertices = 12) out; + +void +main() +{ + for (int vp = 0; vp < viewProjections; ++vp) { + for (int v = 0; v < vworldPos.length(); ++v) { + gl_Position = viewProjection[vp] * vworldPos[v]; + gl_Position.z = max(gl_Position.z, -1); + gl_Layer = vp; + EmitVertex(); + } + EndPrimitive(); + } +} |