javax.media.opengl
Interface GLPbuffer

All Superinterfaces:
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
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.
 
Fields inherited from interface javax.media.opengl.GLAutoDrawable
SCREEN_CHANGE_ACTION_ENABLED
 
Method Summary
 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 NWCapabilities 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, setAutoSwapBufferMode, setContext, setGL
 
Methods inherited from interface javax.media.opengl.GLDrawable
createContext, getChosenGLCapabilities, getFactory, getGLProfile, getHeight, getNativeWindow, getWidth, setRealized, swapBuffers, toString
 

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 NWCapabilities 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).

Specified by:
destroy in interface GLAutoDrawable

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



Copyright 2005 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.