glClipPlane
Prev | GL | Next

## Name

glClipPlane — specify a plane against which all geometry is clipped

## C Specification

`void `glClipPlane`` | `(` | `GLenum `plane`, const GLdouble *`equation`);`

## Python Specification

``glClipPlane`` | `(` | ``plane`, `equation`[]) → `None``

## Parameters

`plane`
  Specifies which clipping plane is being positioned. Symbolic names of the form `GL_CLIP_PLANE`i, where i is an integer between 0 and `GL_MAX_CLIP_PLANES`- 1, are accepted.
`equation`
  Specifies the address of an array of four double-precision floating-point values. These values are interpreted as a plane equation.

## Description

Geometry is always clipped against the boundaries of a six-plane frustum in `x`, `y`, and `z`. `glClipPlane` allows the specification of additional planes, not necessarily perpendicular to the `x`, `y`, or `z` axis, against which all geometry is clipped. To determine the maximum number of additional clipping planes, call `glGetIntegerv` with argument `GL_MAX_CLIP_PLANES`. All implementations support at least six such clipping planes. Because the resulting clipping region is the intersection of the defined half-spaces, it is always convex.

`glClipPlane` specifies a half-space using a four-component plane equation. When `glClipPlane` is called, `equation` is transformed by the inverse of the modelview matrix and stored in the resulting eye coordinates. Subsequent changes to the modelview matrix have no effect on the stored plane-equation components. If the dot product of the eye coordinates of a vertex with the stored plane equation components is positive or zero, the vertex is `in` with respect to that clipping plane. Otherwise, it is `out`.

To enable and disable clipping planes, call `glEnable` and `glDisable` with the argument `GL_CLIP_PLANE` `i`, where `i` is the plane number.

All clipping planes are initially defined as (0, 0, 0, 0) in eye coordinates and are disabled.

## Notes

It is always the case that `GL_CLIP_PLANEi`=`GL_CLIP_PLANE0`+i.

## Errors

`GL_INVALID_ENUM` is generated if `plane` is not an accepted value.

`GL_INVALID_OPERATION` is generated if `glClipPlane` is executed between the execution of `glBegin` and the corresponding execution of `glEnd`.

## Associated Gets

`glGetClipPlane`

`glIsEnabled` with argument `GL_CLIP_PLANE` `i`

## See Also

glEnable

Prev | Up | Next
glClientActiveTextureARB | Home | glColor