glFrontFace

define front- and back-facing polygons

Signature

glFrontFace( GLenum ( mode ) )-> void
glFrontFace( mode )

Parameters

VariablesDescription
mode
Specifies the orientation of front-facing polygons. GL_CW and GL_CCW are accepted. The initial value is GL_CCW .

Description

In a scene composed entirely of opaque closed surfaces, back-facing polygons are never visible. Eliminating these invisible polygons has the obvious benefit of speeding up the rendering of the image. To enable and disable elimination of back-facing polygons, call glEnable and glDisable with argument GL_CULL_FACE .
The projection of a polygon to window coordinates is said to have clockwise winding if an imaginary object following the path from its first vertex, its second vertex, and so on, to its last vertex, and finally back to its first vertex, moves in a clockwise direction about the interior of the polygon. The polygon's winding is said to be counterclockwise if the imaginary object following the same path moves in a counterclockwise direction about the interior of the polygon. glFrontFace specifies whether polygons with clockwise winding in window coordinates, or counterclockwise winding in window coordinates, are taken to be front-facing. Passing GL_CCW to mode selects counterclockwise polygons as front-facing; GL_CW selects clockwise polygons as front-facing. By default, counterclockwise polygons are taken to be front-facing.

Errors

GL_INVALID_ENUM is generated if mode is not an accepted value.

Associated Gets

glGet with argument GL_FRONT_FACE

Version Support

glFrontFace

See Also

Copyright

Copyright
1991-2006 Silicon Graphics, Inc. Copyright
2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see .

Sample Code References

The following code samples have been found which appear to reference the functions described here. Take care that the code may be old, broken or not even use PyOpenGL.

glFrontFace
OpenGLContext OpenGLContext/scenegraph/nurbs.py Lines: 173, 175, 210
OpenGLContext OpenGLContext/scenegraph/teapot.py Lines: 29, 36
OpenGLContext OpenGLContext/scenegraph/indexedpolygons.py Lines: 220, 222
OpenGLContext OpenGLContext/scenegraph/text/toolsfont.py Lines: 95, 118, 160, 163, 173
OpenGLContext OpenGLContext/shadow/volume.py Lines: 233, 276
OpenGLContext OpenGLContext/passes/flatcompat.py Lines: 86
OpenGLContext OpenGLContext/passes/flatcore.py Lines: 76
OpenGLContext OpenGLContext/passes/_flat.py Lines: 341
OpenGLContext tests/shaders.py Lines: 32, 36
OpenGL-Demo PyOpenGL-Demo/GLUT/tom/text.py Lines: 74
OpenGL-Demo PyOpenGL-Demo/redbook/teapots.py Lines: 82
OpenGL-Demo PyOpenGL-Demo/tom/fog.py Lines: 42
{LGPL} Pyggel pyggel/view.py Lines: 187
{LGPL or GPL or MPL} Kamaelia Sketches/CL/Topology3D/Utils/Particles3D.py Lines: 362, 364
Visvis wobjects/polygonalModeling.py Lines: 1027
Visvis wobjects/textures.py Lines: 952