1991-2006 Silicon Graphics, Inc.

glPushName

3G

glPushName

push and pop the name stack

# C Specification

                    void glPushName
                    GLuint name

## Parameters

`name`

- Specifies a name that will be pushed onto the name stack.

## C Specification

                    void glPopName
                     void

## Description

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.

## Errors

`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

.

## Associated Gets

glGet

with argument `GL_NAME_STACK_DEPTH`

glGet

with argument `GL_MAX_NAME_STACK_DEPTH`

## See Also

glInitNames

,

glLoadName

,

glRenderMode

,

glSelectBuffer

## Copyright

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/.