javax.media.opengl

## Interface GLPbuffer

All Superinterfaces:
  ComponentEvents, GLAutoDrawable, GLDrawable

    public interface GLPbuffer
    extends GLAutoDrawable

Provides offscreen rendering support via pbuffers. The principal addition of this interface is a `destroy()` method to deallocate the pbuffer and its associated resources. It also contains experimental methods for accessing the pbuffer's contents as a texture map and enabling rendering to floating-point frame buffers. These methods are not guaranteed to be supported on all platforms and may be deprecated in a future release.

### Field Summary

Fields
`static int` `APPLE_FLOAT` Indicates the GL_APPLE_float_pixels extension is being used for this pbuffer.
`static int` `ATI_FLOAT` Indicates the GL_ATI_texture_float extension is being used for this pbuffer.
`static int` `NV_FLOAT` Indicates the GL_NV_float_buffer extension is being used for this pbuffer.

### Method Summary

Methods
`void` `bindTexture()` Binds this pbuffer to its internal texture target.
`void` `destroy()` Destroys the native resources associated with this pbuffer.
`int` `getFloatingPointMode()` Indicates which vendor's extension is being used to support floating point channels in this pbuffer if that capability was requested in the GLCapabilities during pbuffer creation.
`void` `releaseTexture()` Unbinds the pbuffer from its internal texture target.

### Methods inherited from interface javax.media.opengl.GLAutoDrawable

`addGLEventListener, display, getAutoSwapBufferMode, getContext, getGL, removeGLEventListener, repaint, setAutoSwapBufferMode, setGL`

### Methods inherited from interface javax.media.opengl.GLDrawable

`createContext, getChosenGLCapabilities, getHeight, getWidth, setRealized, setSize, swapBuffers`

### Methods inherited from interface javax.media.opengl.ComponentEvents

`addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addPropertyChangeListener, addPropertyChangeListener, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener`

### Field Detail

#### APPLE_FLOAT

    static final int APPLE_FLOAT

Indicates the GL_APPLE_float_pixels extension is being used for this pbuffer.

See Also:
  Constant Field Values

#### ATI_FLOAT

    static final int ATI_FLOAT

Indicates the GL_ATI_texture_float extension is being used for this pbuffer.

See Also:
  Constant Field Values

#### NV_FLOAT

    static final int NV_FLOAT

Indicates the GL_NV_float_buffer extension is being used for this pbuffer.

See Also:
  Constant Field Values

### Method Detail

#### bindTexture

    void bindTexture()

Binds this pbuffer to its internal texture target. Only valid to call if offscreen render-to-texture has been specified in the GLCapabilities for this GLPbuffer. If the render-to-texture-rectangle capability has also been specified, this will use e.g. wglBindTexImageARB as its implementation and cause the texture to be bound to e.g. the GL_TEXTURE_RECTANGLE_NV state; otherwise, during the display() phase the pixels will have been copied into an internal texture target and this will cause that to be bound to the GL_TEXTURE_2D state.

#### releaseTexture

    void releaseTexture()

Unbinds the pbuffer from its internal texture target.

#### destroy

    void destroy()

Destroys the native resources associated with this pbuffer. It is not valid to call display() or any other routines on this pbuffer after it has been destroyed. Before destroying the pbuffer, the application must destroy any additional OpenGL contexts which have been created for the pbuffer via `GLDrawable.createContext(javax.media.opengl.GLContext)`.

#### getFloatingPointMode

    int getFloatingPointMode()

Indicates which vendor's extension is being used to support floating point channels in this pbuffer if that capability was requested in the GLCapabilities during pbuffer creation. Returns one of NV_FLOAT, ATI_FLOAT or APPLE_FLOAT, or throws GLException if floating-point channels were not requested for this pbuffer. This function may only be called once the init method for this pbuffer's GLEventListener has been called.