未知布局说明符 'triangles'
unknown layout specifier 'triangles'
我刚刚开始使用几何着色器进行一些测试。我想为每个点画一个三角形。这是我的着色器:
#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();
}
这是错误信息:
error C3008: unknown layout specifier 'triangles'
将 "triangles" 替换为 "points" 时有点效果,但显然它是绘制点。
根据标准,唯一允许的输出原始类型是
- 分
- line_strip
- triangle_strip
所以你想要的是
layout(triangle_strip, max_vertices = 3) out;
我刚刚开始使用几何着色器进行一些测试。我想为每个点画一个三角形。这是我的着色器:
#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();
}
这是错误信息:
error C3008: unknown layout specifier 'triangles'
将 "triangles" 替换为 "points" 时有点效果,但显然它是绘制点。
根据标准,唯一允许的输出原始类型是
- 分
- line_strip
- triangle_strip
所以你想要的是
layout(triangle_strip, max_vertices = 3) out;