2

我希望在 opengl 中使用轮廓和填充来渲染 20k+ 2D 多边形。

一些多边形是凹的。

是否可以使用着色器来做到这一点?

4

1 回答 1

2

为此,您不需要着色器:

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

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

编辑:我找到了关于如何使用模板缓冲区渲染凹多边形的以下链接。

于 2010-01-13T07:29:10.543 回答