X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=shaderlib%2Fcubemap_effect.glsl;fp=shaderlib%2Fcubemap_effect.glsl;h=b865a7abdc6238edfe8ed9652ee9ad716650ad25;hb=6b9338845dfee441cd18ad6c633e4feef8ad14e1;hp=0000000000000000000000000000000000000000;hpb=87b74b1263710b0acb9e0b72283e972fd54ee91b;p=libs%2Fgl.git diff --git a/shaderlib/cubemap_effect.glsl b/shaderlib/cubemap_effect.glsl new file mode 100644 index 00000000..b865a7ab --- /dev/null +++ b/shaderlib/cubemap_effect.glsl @@ -0,0 +1,29 @@ +uniform CubeParams +{ + mat3 faces[6]; +}; + +#pragma MSP stage(vertex) +layout(location=0) in vec4 vertex; +void main() +{ + gl_Position = vertex; +} + +#pragma MSP stage(geometry) +layout(triangles) in; +layout(triangle_strip, max_vertices=18) out; +void main() +{ + for(int i=0; i<6; ++i) + { + gl_Layer = i; + for(int j=0; j<3; ++j) + { + gl_Position = gl_in[j].gl_Position; + out vec3 texcoord = faces[i]*vec3(gl_in[j].gl_Position.xy, 1.0); + EmitVertex(); + } + EndPrimitive(); + } +}