void glPushName( GLuint name )
Specifies a name that will be pushed onto the name stack.
void glPopName( void )
The name stack is used during selection mode to allow sets of rendering commands to be uniquely identified. It consists of an ordered set of unsigned integers and is initially empty.
glPushName causes name to be pushed onto the name stack. glPopName pops one name off the top of the stack.
The maximum name stack depth is implementation-dependent; call GL_MAX_NAME_STACK_DEPTH to find out the value for a particular implementation. It is an error to push a name onto a full stack, or to pop a name off an empty stack. It is also an error to manipulate the name stack between the execution of glBegin and the corresponding execution of glEnd. In any of these cases, the error flag is set and no other change is made to GL state.
The name stack is always empty while the render mode is not GL_SELECT. Calls to glPushName or glPopName while the render mode is not GL_SELECT are ignored.
GL_STACK_OVERFLOW is generated if glPushName is called while the name stack is full.
GL_STACK_UNDERFLOW is generated if glPopName is called while the name stack is empty.
GL_INVALID_OPERATION is generated if glPushName or glPopName is executed between a call to glBegin and the corresponding call to glEnd.
glGet with argument GL_NAME_STACK_DEPTH
glGet with argument GL_MAX_NAME_STACK_DEPTH
glInitNames(3G), glLoadName(3G), glRenderMode(3G), glSelectBuffer(3G)
glInitNames.3G(3), glLoadName.3G(3), glRenderMode.3G(3), glSelectBuffer.3G(3).
The man page glPopName.3G(3) is an alias of glPushName.3G(3).