glEnable(GL_CULL_FACE);
glCullFace(GL_FRONT);
glPolygonMode(GL_BACK,GL_LINE);
在上面的代码示例中,glPolygonMode 抛出无效枚举错误?如何解决这个问题?
glEnable(GL_CULL_FACE);
glCullFace(GL_FRONT);
glPolygonMode(GL_BACK,GL_LINE);
在上面的代码示例中,glPolygonMode 抛出无效枚举错误?如何解决这个问题?
GL_INVALID_ENUM
如果您的问题的面部或模式(分别是第一个和第二个参数)不是可接受的值,则会生成。您的第一个参数必须GL_FRONT_AND_BACK
用于正面和背面的多边形,GL_FRONT
因为GL_BACK
此方法已被弃用。
编辑
由于您似乎在评论中提出了其他问题。如果你想在填充的多边形周围绘制墨水,你应该渲染你的几何图形两次;渲染一次填充和一次线框。稍微移动线框以避免深度战斗。否则这两个几何图形可能会重叠
// first draw your polygon filled (this is assuming your glPolygonMode is set to GL_FILL - this is the default mode normally)
// draw your polygons
// offset the wireframe
glEnable(GL_POLYGON_OFFSET_LINE);
glPolygonOffset(-1,-1);
// draw the wireframe
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
// draw the same polygons again
// restore default polygon mode
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
glDisable(GL_POLYGON_OFFSET_LINE);