我刚刚开始测试几何着色器。我想为每个点绘制一个三角形。这是我的着色器:
#version 150
layout (points) in;
layout(triangles, max_vertices = 3) out;
void main(void)
{
gl_Position = gl_in[0].gl_Position + vec4(0, 0, 0, 0);
EmitVertex();
gl_Position = gl_in[0].gl_Position + vec4(0.1, 0, 0, 0);
EmitVertex();
gl_Position = gl_in[0].gl_Position + vec4(0, 0.1, 0, 0);
EmitVertex();
EndPrimitive();
}
这是错误消息:
错误C3008:未知布局说明符'三角形'
当用“点”替换“三角形”时它有用,但显然它是绘图点。
答案 0 :(得分:4)
根据标准,输出的唯一允许原语类型是
所以你想要的是
layout(triangle_strip, max_vertices = 3) out;