0

我正在尝试填充和勾勒下面的形状。我结合使用 GL_LINES 和 GL_TRIANGLE_STRIP。

从顶部看,一切都很好。

但是,当倾斜模型以查看下方时,填充的三角形条不符合顶部的形状。它没有显示相应凸起位于顶部的“井”。相反,填充在 y 平面上显得“平坦”。

即使多边形没有“相互交叉”,这是常见的 OpenGL 凹面问题吗?

或者,是否可以像人们期望的那样看到下面的“井”?

顶视图

顶视图

底视图(黑色填充和 GL_LINES 之间的 z-fighting,看不到“井”内部)

底视图

我的绘图代码:

m_vao.bind();

glEnable(GL_POLYGON_OFFSET_FILL);
glPolygonOffset(1.0, 1.0);
glDrawArrays(GL_TRIANGLE_STRIP, m_lineCount, m_vertexArray.size()-m_lineCount);
glDisable(GL_POLYGON_OFFSET_FILL);

glDrawArrays(GL_LINES, 0, m_lineCount);

m_vao.release();
4

0 回答 0