Name
glClear — clear buffers to preset values
C Specification
void glClear(
GLbitfield mask)
;Parameters
mask
- Bitwise OR of masks that indicate the buffers to be cleared. The three masks are
GL_COLOR_BUFFER_BIT
,GL_DEPTH_BUFFER_BIT
, andGL_STENCIL_BUFFER_BIT
.
Description
glClear
sets the bitplane area of the window to values previously selected by glClearColor
, glClearDepth
, and glClearStencil
. Multiple color buffers can be cleared simultaneously by selecting more than one buffer at a time using glDrawBuffer.The pixel ownership test, the scissor test, dithering, and the buffer writemasks affect the operation of
glClear
. The scissor box bounds the cleared region. Alpha function, blend function, logical operation, stenciling, texture mapping, and depth-buffering are ignored by glClear
.glClear
takes a single argument that is the bitwise OR of several values indicating which buffer is to be cleared.The values are as follows:
GL_COLOR_BUFFER_BIT
- Indicates the buffers currently enabled for color writing.
GL_DEPTH_BUFFER_BIT
- Indicates the depth buffer.
GL_STENCIL_BUFFER_BIT
- Indicates the stencil buffer.
Associated Gets
glGet with argumentGL_DEPTH_CLEAR_VALUE
glGet with argument
GL_COLOR_CLEAR_VALUE
glGet with argument
GL_STENCIL_CLEAR_VALUE
See Also
glClearColor
, glClearDepth
, glClearStencil
, glColorMask, glDepthMask, glDrawBuffer, glScissor, glStencilMaskCopyright
Copyright © 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/.Example of GL_DEPTH_BUFFER_BIT
void Render()
{
//clear color and depth buffer
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();//load identity matrix
glTranslatef(0.0f,0.0f,-4.0f);//move forward 4 units
glColor3f(0.0f,0.0f,1.0f); //blue color
glBegin(GL_TRIANGLES);//start drawing triangles
glVertex3f(-1.0f,-0.25f,0.0f);//triangle one first vertex
glVertex3f(-0.5f,-0.25f,0.0f);//triangle one second vertex
glVertex3f(-0.75f,0.25f,0.0f);//triangle one third vertex
//drawing a new triangle
glVertex3f(0.5f,-0.25f,0.0f);//triangle two first vertex
glVertex3f(1.0f,-0.25f,0.0f);//triangle two second vertex
glVertex3f(0.75f,0.25f,0.0f);//triangle two third vertex
glEnd();//end drawing of triangles
}
Example of GL_DEPTH_BUFFER_BIT