什么是可接受的glPolygonMode第一个参数值?

Jon*_*old 3 opengl

glPolygonMode的文档仅将枚举指定GL_FRONT_AND_BACK为可接受的第一个参数(face).还有其他可接受的枚举,例如只有正面还是只有背面?

glPolygonMode(GLenum face, GLenum mode);
Run Code Online (Sandbox Code Playgroud)

我知道,mode只有支持GL_POINT,GL_LINE以及GL_FILL,但它只是似乎非常奇怪的是,只有一个文件指定faceGL_FRONT_AND_BACK,但它是用它作为参数的要求.

Mue*_*ito 5

glPolygonMode接受了face传统OpenGL上下文中的不同参数.如果你看看OpenGL 2.1Khronos手册页,它会说:

face指定模式适用的多边形.前向多边形必须为GL_FRONT,后向多边形必须为GL_BACK,前向和后向多边形必须为GL_FRONT_AND_BACK.

相反,在OpenGL 4手册页中,它说:

face指定模式适用的多边形.对于前面和后面的多边形,必须是GL_FRONT_AND_BACK.

在OpenGL 3.3规范中,在"E2"部分中.已弃用和已删除的功能',它列出:

单独的多边形绘制模式 - 前面和后面的PolygonMode面值; 无论哪个面被栅格化,多边形总是以相同的模式绘制.

可能,该face参数仅保留用于不同OpenGL上下文目标的编译等效,即使在现代OpenGL中,它实际上只能有一个值,现在是多余的.