Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.lwjgl.opengl
Class Pbuffer

    java.lang.Object
      org.lwjgl.opengl.Pbuffer

All Implemented Interfaces:
  Drawable

    public final class Pbuffer

extends java.lang.Object
implements Drawable

Pbuffer encapsulates an OpenGL pbuffer.

This class is thread-safe.

Version:
  $Revision: 2745 $ $Id: Pbuffer.java 2745 2007-02-24 18:41:41Z elias_naur $
Author:
  elias_naur

Field Summary
`static int` | `BACK_LEFT_BUFFER` The Pbuffer back left buffer.
`static int` | `BACK_RIGHT_BUFFER` The Pbuffer back right buffer.
`static int` | `CUBE_MAP_FACE` The render-to-texture cube map face attribute.
`static int` | `DEPTH_BUFFER` The Pbuffer depth buffer.
`static int` | `FRONT_LEFT_BUFFER` The Pbuffer front left buffer.
`static int` | `FRONT_RIGHT_BUFFER` The Pbuffer front right buffer.
`static int` | `MIPMAP_LEVEL` The render-to-texture mipmap level attribute.
`static int` | `PBUFFER_SUPPORTED` Indicates that Pbuffers can be created.
`static int` | `RENDER_DEPTH_TEXTURE_SUPPORTED` Indicates that Pbuffers can be used as depth render-textures.
`static int` | `RENDER_TEXTURE_RECTANGLE_SUPPORTED` Indicates that Pbuffers can be used as non-power-of-two render-textures.
`static int` | `RENDER_TEXTURE_SUPPORTED` Indicates that Pbuffers can be used as render-textures.
`static int` | `TEXTURE_CUBE_MAP_NEGATIVE_X` The render-to-texture cube map negative X face value.
`static int` | `TEXTURE_CUBE_MAP_NEGATIVE_Y` The render-to-texture cube map negative Y face value.
`static int` | `TEXTURE_CUBE_MAP_NEGATIVE_Z` The render-to-texture cube map negative Z face value.
`static int` | `TEXTURE_CUBE_MAP_POSITIVE_X` The render-to-texture cube map positive X face value.
`static int` | `TEXTURE_CUBE_MAP_POSITIVE_Y` The render-to-texture cube map positive Y face value.
`static int` | `TEXTURE_CUBE_MAP_POSITIVE_Z` The render-to-texture cube map positive Z face value.

Constructor Summary
`Pbuffer(int width, int height, PixelFormat pixel_format, Drawable shared_drawable)` Create an instance of a Pbuffer with a unique OpenGL context.
`Pbuffer(int width, int height, PixelFormat pixel_format, RenderTexture renderTexture, Drawable shared_drawable)` Create an instance of a Pbuffer with a unique OpenGL context.

Method Summary
`void` | `bindTexImage(int buffer)` Binds the currently bound texture to the buffer specified.
`void` | `destroy()` Destroys the Pbuffer.
`static int` | `getCapabilities()` Gets the Pbuffer capabilities.
`org.lwjgl.opengl.Context` | `getContext()`
`int` | `getHeight()`
`int` | `getWidth()`
`boolean` | `isBufferLost()` Method to test for validity of the buffer.
`void` | `makeCurrent()` Method to make the Pbuffer context current.
`void` | `releaseTexImage(int buffer)` Releases the currently bound texture from the buffer specified.
`void` | `setAttrib(int attrib, int value)` Sets a render-to-texture attribute.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### PBUFFER_SUPPORTED

    public static final int PBUFFER_SUPPORTED

  Indicates that Pbuffers can be created.

  See Also:
    Constant Field Values

### RENDER_TEXTURE_SUPPORTED

    public static final int RENDER_TEXTURE_SUPPORTED

  Indicates that Pbuffers can be used as render-textures.

  See Also:
    Constant Field Values

### RENDER_TEXTURE_RECTANGLE_SUPPORTED

    public static final int RENDER_TEXTURE_RECTANGLE_SUPPORTED

  Indicates that Pbuffers can be used as non-power-of-two render-textures.

  See Also:
    Constant Field Values

### RENDER_DEPTH_TEXTURE_SUPPORTED

    public static final int RENDER_DEPTH_TEXTURE_SUPPORTED

  Indicates that Pbuffers can be used as depth render-textures.

  See Also:
    Constant Field Values

### MIPMAP_LEVEL

    public static final int MIPMAP_LEVEL

  The render-to-texture mipmap level attribute.

  See Also:
    Constant Field Values

### CUBE_MAP_FACE

    public static final int CUBE_MAP_FACE

  The render-to-texture cube map face attribute.

  See Also:
    Constant Field Values

### TEXTURE_CUBE_MAP_POSITIVE_X

    public static final int TEXTURE_CUBE_MAP_POSITIVE_X

  The render-to-texture cube map positive X face value.

  See Also:
    Constant Field Values

### TEXTURE_CUBE_MAP_NEGATIVE_X

    public static final int TEXTURE_CUBE_MAP_NEGATIVE_X

  The render-to-texture cube map negative X face value.

  See Also:
    Constant Field Values

### TEXTURE_CUBE_MAP_POSITIVE_Y

    public static final int TEXTURE_CUBE_MAP_POSITIVE_Y

  The render-to-texture cube map positive Y face value.

  See Also:
    Constant Field Values

### TEXTURE_CUBE_MAP_NEGATIVE_Y

    public static final int TEXTURE_CUBE_MAP_NEGATIVE_Y

  The render-to-texture cube map negative Y face value.

  See Also:
    Constant Field Values

### TEXTURE_CUBE_MAP_POSITIVE_Z

    public static final int TEXTURE_CUBE_MAP_POSITIVE_Z

  The render-to-texture cube map positive Z face value.

  See Also:
    Constant Field Values

### TEXTURE_CUBE_MAP_NEGATIVE_Z

    public static final int TEXTURE_CUBE_MAP_NEGATIVE_Z

  The render-to-texture cube map negative Z face value.

  See Also:
    Constant Field Values

### FRONT_LEFT_BUFFER

    public static final int FRONT_LEFT_BUFFER

  The Pbuffer front left buffer.

  See Also:
    Constant Field Values

### FRONT_RIGHT_BUFFER

    public static final int FRONT_RIGHT_BUFFER

  The Pbuffer front right buffer.

  See Also:
    Constant Field Values

### BACK_LEFT_BUFFER

    public static final int BACK_LEFT_BUFFER

  The Pbuffer back left buffer.

  See Also:
    Constant Field Values

### BACK_RIGHT_BUFFER

    public static final int BACK_RIGHT_BUFFER

  The Pbuffer back right buffer.

  See Also:
    Constant Field Values

### DEPTH_BUFFER

    public static final int DEPTH_BUFFER

  The Pbuffer depth buffer.

  See Also:
    Constant Field Values

Constructor Detail

### Pbuffer

    public Pbuffer(int width,
                   int height,
                   PixelFormat pixel_format,
                   Drawable shared_drawable)
            throws LWJGLException

  Create an instance of a Pbuffer with a unique OpenGL context. The buffer is single-buffered.

  NOTE: The Pbuffer will have its own context that shares display lists and textures with `shared_context`, or, if `shared_context` is `null`, the Display context if it is created. The Pbuffer will have its own OpenGL state. Therefore, state changes to a pbuffer will not be seen in the window context and vice versa.

  Parameters:
    `width` - Pbuffer width
    `height` - Pbuffer height
    `pixel_format` - Minimum Pbuffer context properties
    `shared_drawable` - If non-null the Pbuffer will share display lists and textures with it. Otherwise, the Pbuffer will share with the Display context (if created).
  Throws:
    `LWJGLException`

### Pbuffer

    public Pbuffer(int width,
                   int height,
                   PixelFormat pixel_format,
                   RenderTexture renderTexture,
                   Drawable shared_drawable)
            throws LWJGLException

  Create an instance of a Pbuffer with a unique OpenGL context. The buffer is single-buffered.

  NOTE: The Pbuffer will have its own context that shares display lists and textures with `shared_context`, or, if `shared_context` is `null`, the Display context if it is created. The Pbuffer will have its own OpenGL state. Therefore, state changes to a pbuffer will not be seen in the window context and vice versa.

  The renderTexture parameter defines the necessary state for enabling render-to-texture. When this parameter is null, render-to-texture is not available. Before using render-to-texture, the Pbuffer capabilities must be queried to ensure that it is supported. Currently only windows platform can support this feature, so it is recommended that EXT_framebuffer_object or similar is used if available, for maximum portability.

  Parameters:
    `width` - Pbuffer width
    `height` - Pbuffer height
    `pixel_format` - Minimum Pbuffer context properties
    `renderTexture` -
    `shared_drawable` - If non-null the Pbuffer will share display lists and textures with it. Otherwise, the Pbuffer will share with the Display context (if created).
  Throws:
    `LWJGLException`

Method Detail

### getContext

    public org.lwjgl.opengl.Context getContext()

  Specified by:
    `getContext` in interface `Drawable`

### isBufferLost

    public boolean isBufferLost()

  Method to test for validity of the buffer. If this function returns true, the buffer contents is lost. The buffer can still be used, but the results are undefined. The application is expected to release the buffer if needed, destroy it and recreate a new buffer.

  Returns:
    true if the buffer is lost and destroyed, false if the buffer is valid.

### makeCurrent

    public void makeCurrent()
                     throws LWJGLException

  Method to make the Pbuffer context current. All subsequent OpenGL calls will go to this buffer.

  Throws:
    `LWJGLException` - if the context could not be made current

### getCapabilities

    public static int getCapabilities()

  Gets the Pbuffer capabilities.

  Returns:
    a bitmask of Pbuffer capabilities.

### destroy

    public void destroy()

  Destroys the Pbuffer. After this call, there will be no valid GL rendering context - regardless of whether this Pbuffer was the current rendering context or not.

### setAttrib

    public void setAttrib(int attrib,
                          int value)

  Sets a render-to-texture attribute.

  The attrib parameter can be one of MIPMAP_LEVEL and CUBE_MAP_FACE. When the attrib parameter is CUBE_MAP_FACE then the value parameter can be on of the following:

  TEXTURE_CUBE_MAP_POSITIVE_X TEXTURE_CUBE_MAP_NEGATIVE_X TEXTURE_CUBE_MAP_POSITIVE_Y TEXTURE_CUBE_MAP_NEGATIVE_Y TEXTURE_CUBE_MAP_POSITIVE_Z TEXTURE_CUBE_MAP_NEGATIVE_Z

  Parameters:
    `attrib` -
    `value` -

### bindTexImage

    public void bindTexImage(int buffer)

  Binds the currently bound texture to the buffer specified. The buffer can be one of the following:

  FRONT_LEFT_BUFFER FRONT_RIGHT_BUFFER BACK_LEFT_BUFFER BACK_RIGHT_BUFFER DEPTH_BUFFER

  Parameters:
    `buffer` -

### releaseTexImage

    public void releaseTexImage(int buffer)

  Releases the currently bound texture from the buffer specified.

  Parameters:
    `buffer` -

### getHeight

    public int getHeight()

  Returns:
    Returns the height.

### getWidth

    public int getWidth()

  Returns:
    Returns the width.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2002-2006 lwjgl.org. All Rights Reserved.