glPolygonMode的文档仅将枚举指定GL_FRONT_AND_BACK为可接受的第一个参数(face).还有其他可接受的枚举,例如只有正面还是只有背面?
glPolygonMode(GLenum face, GLenum mode);
Run Code Online (Sandbox Code Playgroud)
我知道,mode只有支持GL_POINT,GL_LINE以及GL_FILL,但它只是似乎非常奇怪的是,只有一个文件指定face的GL_FRONT_AND_BACK,但它是用它作为参数的要求.
glPolygonMode接受了face传统OpenGL上下文中的不同参数.如果你看看OpenGL 2.1的Khronos手册页,它会说:
face指定模式适用的多边形.前向多边形必须为GL_FRONT,后向多边形必须为GL_BACK,前向和后向多边形必须为GL_FRONT_AND_BACK.
相反,在OpenGL 4手册页中,它说:
face指定模式适用的多边形.对于前面和后面的多边形,必须是GL_FRONT_AND_BACK.
在OpenGL 3.3规范中,在"E2"部分中.已弃用和已删除的功能',它列出:
单独的多边形绘制模式 - 前面和后面的PolygonMode面值; 无论哪个面被栅格化,多边形总是以相同的模式绘制.
可能,该face参数仅保留用于不同OpenGL上下文目标的编译等效,即使在现代OpenGL中,它实际上只能有一个值,现在是多余的.