SPIRV-Cross/reference/shaders/geom/basic.geom
Hans-Kristian Arntzen e67f6f85a4 Defer parenthesis generation until needed.
Previously, we would generate parentheses proactively when generating
binary ops, however, this leads to uglier code and hits warnings in
compilers when used as a conditional.
2016-12-05 10:56:54 +01:00

27 lines
612 B
GLSL

#version 310 es
#extension GL_EXT_geometry_shader : require
layout(invocations = 4, triangles) in;
layout(max_vertices = 3, triangle_strip) out;
out vec3 vNormal;
in VertexData
{
vec3 normal;
} vin[3];
void main()
{
gl_Position = gl_in[0].gl_Position;
vNormal = vin[0].normal + vec3(float(gl_InvocationID));
EmitVertex();
gl_Position = gl_in[1].gl_Position;
vNormal = vin[1].normal + vec3(4.0 * float(gl_InvocationID));
EmitVertex();
gl_Position = gl_in[2].gl_Position;
vNormal = vin[2].normal + vec3(2.0 * float(gl_InvocationID));
EmitVertex();
EndPrimitive();
}