30 lines
555 B
Plaintext
30 lines
555 B
Plaintext
|
#version 450
|
||
|
|
||
|
layout(vertices = 4) out;
|
||
|
|
||
|
layout(location = 0) out vec4 v0[];
|
||
|
layout(location = 1) patch out vec4 v1[2];
|
||
|
layout(location = 3) patch out vec4 v3;
|
||
|
|
||
|
void write_in_func()
|
||
|
{
|
||
|
v0[gl_InvocationID] = vec4(1.0);
|
||
|
v0[gl_InvocationID].z = 3.0;
|
||
|
if (gl_InvocationID == 0)
|
||
|
{
|
||
|
v1[0] = vec4(2.0);
|
||
|
v1[0].x = 3.0;
|
||
|
v1[1] = vec4(2.0);
|
||
|
v1[1].x = 5.0;
|
||
|
}
|
||
|
v3 = vec4(5.0);
|
||
|
gl_out[gl_InvocationID].gl_Position = vec4(10.0);
|
||
|
gl_out[gl_InvocationID].gl_Position.z = 20.0;
|
||
|
gl_out[gl_InvocationID].gl_PointSize = 40.0;
|
||
|
}
|
||
|
|
||
|
void main()
|
||
|
{
|
||
|
write_in_func();
|
||
|
}
|