2014-08-22 18:18:14 -04:00
|
|
|
layout(triangles) in;
|
|
|
|
layout(triangle_strip, max_vertices=3) out;
|
|
|
|
|
2014-12-18 16:09:14 -05:00
|
|
|
#ifdef Use_Bindless_Texture
|
2014-08-28 19:26:27 -04:00
|
|
|
flat in uvec2 hdle[3];
|
2014-08-22 18:18:14 -04:00
|
|
|
#endif
|
|
|
|
in vec2 tc[3];
|
|
|
|
in int layerId[3];
|
|
|
|
|
|
|
|
out vec2 uv;
|
2014-12-18 16:09:14 -05:00
|
|
|
#ifdef Use_Bindless_Texture
|
2014-08-28 19:26:27 -04:00
|
|
|
out flat uvec2 handle;
|
2014-08-22 18:18:14 -04:00
|
|
|
#endif
|
|
|
|
|
|
|
|
void main(void)
|
|
|
|
{
|
|
|
|
gl_Layer = layerId[0];
|
2014-12-18 16:09:14 -05:00
|
|
|
#ifdef Use_Bindless_Texture
|
2014-08-22 18:18:14 -04:00
|
|
|
handle = hdle[0];
|
|
|
|
#endif
|
|
|
|
for(int i=0; i<3; i++)
|
|
|
|
{
|
|
|
|
uv = tc[i];
|
|
|
|
gl_Position = gl_in[i].gl_Position;
|
|
|
|
EmitVertex();
|
|
|
|
}
|
|
|
|
EndPrimitive();
|
|
|
|
}
|