我可以在几何着色器中导出三角形而不是三角形条吗?

时间:2012-09-07 16:00:30

标签: opengl glsl shader geometry-shader

是否有可能从几何着色器仅导出三角形而不是三角形条带?这有一些有趣的可能性。 OpenGL 3.3。

glProgramParameteriARB(mVoxelShd, GL_GEOMETRY_OUTPUT_TYPE_ARB, GL_TRIANGLE_STRIP);

指定着色器输出模式。如果我尝试:

glProgramParameteriARB(mVoxelShd, GL_GEOMETRY_OUTPUT_TYPE_ARB, GL_TRIANGLES);

它编译并且工作正常,但它表现得像三角形条一样。

GLSL语言规范3.3:

  

几何着色器输出的布局限定符标识符为

     
      
  • 布局限定符ID
  •   
  •   
  • line_strip
  •   
  • triangle_strip
  •   
  • max_vertices =整数常数
  •   

这里似乎没有“三角形”。

1 个答案:

答案 0 :(得分:1)

我的错误,似乎可以在每个指定的三角形序列之后使用EndPrimitive()在几何着色器中导出独立的三角形。这看起来更强大。三角条和独立三角形都可以从单个着色器创建,而无需更改几何输出类型。