40 lines
780 B
Plaintext
40 lines
780 B
Plaintext
|
#version 150 core
|
||
|
|
||
|
layout(triangles_adjacency) in;
|
||
|
layout(max_vertices = 30) out;
|
||
|
layout(stream = 3, triangle_strip) out;
|
||
|
|
||
|
in fromVertex {
|
||
|
in vec3 color;
|
||
|
} fromV[];
|
||
|
|
||
|
out toFragment {
|
||
|
out vec3 color;
|
||
|
} toF;
|
||
|
|
||
|
out fromVertex {
|
||
|
vec3 color;
|
||
|
};
|
||
|
|
||
|
void main()
|
||
|
{
|
||
|
color = fromV[0].color;
|
||
|
//?? gl_ClipDistance[3] = gl_in[1].gl_ClipDistance[2];
|
||
|
gl_Position = gl_in[0].gl_Position;
|
||
|
gl_PointSize = gl_in[3].gl_PointSize;
|
||
|
gl_PrimitiveID = gl_PrimitiveIDIn;
|
||
|
gl_Layer = 2;
|
||
|
|
||
|
EmitVertex();
|
||
|
|
||
|
color = 2 * fromV[0].color;
|
||
|
gl_Position = 2.0 * gl_in[0].gl_Position;
|
||
|
gl_PointSize = 2.0 * gl_in[3].gl_PointSize;
|
||
|
gl_PrimitiveID = gl_PrimitiveIDIn + 1;
|
||
|
gl_Layer = 3;
|
||
|
|
||
|
EmitVertex();
|
||
|
|
||
|
EndPrimitive();
|
||
|
}
|