opengl着色器中的多边形镶嵌

时间:2010-01-13 07:16:46

标签: opengl shader

我希望在opengl中使用outline&amp ;;渲染20k + 2D多边形。继续进行。

有些多边形是凹的。

是否可以使用着色器执行此操作?

1 个答案:

答案 0 :(得分:2)

您不需要着色器:

glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); //Fill
glDrawElements(...);
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); //Outline
glDrawElements(...);

如果多边形是凹的,你必须手动或使用gl实用程序库glu来对它们进行镶嵌。看gluNewTess。如果您决定自己对多边形进行镶嵌,则必须记住设置正确的边缘标记,以便不渲染镶嵌的内边缘,请参阅glEdgeFlagPointer

编辑:我发现以下link有关如何使用模板缓冲区渲染凹多边形的信息。