我正在尝试填充和勾勒下面的形状。我结合使用 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();