glEdgeFlagPointer
Prev | GL | Next

## Name

glEdgeFlagPointer, glEdgeFlagPointerb — define an array of edge flags

## C Specification

`void `glEdgeFlagPointer`` | `(` | `GLsizei `stride`, const GLboolean *`pointer`);`

## Python Specification

``glEdgeFlagPointer`` | `(` | ``stride`, `pointer`) → `None``
``glEdgeFlagPointerb`` | `(` | ``pointer`[]) → `None``

## Parameters

`stride`
  Specifies the byte offset between consecutive edge flags. If `stride` is 0 (the initial value), the edge flags are understood to be tightly packed in the array. The initial value is 0.
`pointer`
  Specifies a pointer to the first edge flag in the array. The initial value is zero.

## Description

`glEdgeFlagPointer` specifies the location and data of an array of boolean edge flags to use when rendering. `stride` specifies the byte stride from one edge flag to the next allowing vertexes and attributes to be packed into a single array or stored in separate arrays. (Single-array storage may be more efficient on some implementations; see glInterleavedArrays.)

When an edge flag array is specified, `stride` and `pointer` are saved as client-side state.

To enable and disable the edge flag array, call `glEnableClientState` and

`glDisableClientState` with the argument `GL_EDGE_FLAG_ARRAY`. If enabled, the edge flag array is used when `glDrawArrays`, `glDrawElements`, or `glArrayElement` is called.

Use `glDrawArrays` to construct a sequence of primitives (all of the same type) from prespecified vertex and vertex attribute arrays. Use `glArrayElement` to specify primitives by indexing vertexes and vertex attributes and `glDrawElements` to construct a sequence of primitives by indexing vertexes and vertex attributes.

## Notes

`glEdgeFlagPointer` is available only if the GL version is 1.1 or greater.

The edge flag array is initially disabled and it won't be accessed when

`glArrayElement`, `glDrawElements` or `glDrawArrays` is called.

Execution of `glEdgeFlagPointer` is not allowed between the execution of `glBegin` and the corresponding execution of `glEnd`, but an error may or may not be generated. If no error is generated, the operation is undefined.

`glEdgeFlagPointer` is typically implemented on the client side.

Edge flag array parameters are client-side state and are therefore not saved or restored by `glPushAttrib` and `glPopAttrib`. Use `glPushClientAttrib` and

`glPopClientAttrib` instead.

## Errors

`GL_INVALID_ENUM` is generated if `stride` is negative.

## Associated Gets

`glIsEnabled` with argument `GL_EDGE_FLAG_ARRAY`

`glGet` with argument `GL_EDGE_FLAG_ARRAY_STRIDE`

`glGetPointerv` with argument `GL_EDGE_FLAG_ARRAY_POINTER`

## See Also

glArrayElement, glColorPointer, glDrawArrays, glDrawElements, glEnable, glGetPointerv, glIndexPointer, glNormalPointer, glPushClientAttrib, glTexCoordPointer, glVertexPointer

Prev | Up | Next
glEdgeFlag | Home | glEnable