Class WGLARBPbuffer
- java.lang.Object
-
- org.lwjgl.opengl.WGLARBPbuffer
-
public class WGLARBPbuffer extends java.lang.Object
Native bindings to the WGL_ARB_pbuffer extension.This extension defines pixel buffers (pbuffer for short). Pbuffers are additional non-visible rendering buffers for an OpenGL renderer. Pbuffers are equivalent to a window that has the same pixel format descriptor with the following exceptions:
- There is no rendering to a pbuffer by GDI.
- The pixel format descriptors used for a pbuffer can only be those that are supported by the ICD. Generic formats are not valid.
- The allocation of a pbuffer can fail if there are insufficient resources (i.e., all the pbuffer memory has been allocated).
- The pixel buffer might be lost if a display mode change occurs. A query is provided that can be called after a display mode change to determine the state of the pixel buffer.
The intent of the pbuffer semantics is to enable implementations to allocate pbuffers in non-visible frame buffer memory. These pbuffers are intended to be "static" resources in that a program will typically allocate them only once rather than as a part of its rendering loop. (Pbuffers should be deallocated when the program is no longer using them -- for example, if the program is iconified.)
The frame buffer resources that are associated with a pbuffer are also static and are deallocated when the pbuffer is destroyed or possibly when a display mode change occurs.
Requires
WGL_ARB_extensions_string
andWGL_ARB_pixel_format
.
-
-
Field Summary
Fields Modifier and Type Field and Description static int
WGL_DRAW_TO_PBUFFER_ARB
Accepted by theattribIList
parameter ofChoosePixelFormatARB
and theattributes
parameter ofGetPixelFormatAttribivARB
.static int
WGL_MAX_PBUFFER_HEIGHT_ARB
WGL_MAX_PBUFFER_PIXELS_ARB
WGL_MAX_PBUFFER_WIDTH_ARBAccepted by theattributes
parameter ofGetPixelFormatAttribivARB
.static int
WGL_PBUFFER_HEIGHT_ARB
Accepted by theattribute
parameter ofQueryPbufferARB
.static int
WGL_PBUFFER_LARGEST_ARB
Accepted by theattribList
parameter ofCreatePbufferARB
.static int
WGL_PBUFFER_LOST_ARB
WGL_PBUFFER_WIDTH_ARBAccepted by theattribute
parameter ofQueryPbufferARB
.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method and Description static long
wglCreatePbufferARB(long hdc, int pixelFormat, int width, int height, int[] attribList)
Array version of:CreatePbufferARB
static long
wglCreatePbufferARB(long hdc, int pixelFormat, int width, int height, java.nio.IntBuffer attribList)
Creates a pixel buffer (pbuffer) and returns a handle to it.static boolean
wglDestroyPbufferARB(long pbuffer)
Destroys a pbuffer.static long
wglGetPbufferDCARB(long pbuffer)
Creates a device context for the pbuffer.static boolean
wglQueryPbufferARB(long pbuffer, int attribute, int[] value)
Array version of:QueryPbufferARB
static boolean
wglQueryPbufferARB(long pbuffer, int attribute, java.nio.IntBuffer value)
Queries an attribute associated with a specific pbuffer.static int
wglReleasePbufferDCARB(long pbuffer, long hdc)
Releases a device context obtained from a previous call toGetPbufferDCARB
.
-
-
-
Field Detail
-
WGL_DRAW_TO_PBUFFER_ARB
Accepted by theattribIList
parameter ofChoosePixelFormatARB
and theattributes
parameter ofGetPixelFormatAttribivARB
.
-
WGL_MAX_PBUFFER_PIXELS_ARB, WGL_MAX_PBUFFER_WIDTH_ARB, WGL_MAX_PBUFFER_HEIGHT_ARB
Accepted by theattributes
parameter ofGetPixelFormatAttribivARB
.
-
WGL_PBUFFER_LARGEST_ARB
Accepted by theattribList
parameter ofCreatePbufferARB
.
-
WGL_PBUFFER_WIDTH_ARB, WGL_PBUFFER_HEIGHT_ARB, WGL_PBUFFER_LOST_ARB
Accepted by theattribute
parameter ofQueryPbufferARB
.
-
-
Method Detail
-
wglCreatePbufferARB
public static long wglCreatePbufferARB(long hdc, int pixelFormat, int width, int height, java.nio.IntBuffer attribList)
Creates a pixel buffer (pbuffer) and returns a handle to it.Support for pbuffers may be restricted to specific pixel formats. Use
GetPixelFormatAttribivARB
to query theDRAW_TO_PBUFFER_ARB
attribute to determine which pixel formats support the creation of pbuffers.- Parameters:
hdc
- a device context for the device on which the pbuffer is createdpixelFormat
- a non-generic pixel format descriptor indexwidth
- the pixel width of the rectangular pbufferheight
- the pixel height of the rectangular pbufferattribList
- a 0-terminated list of attributes {type, value} pairs containing integer attribute values
-
wglGetPbufferDCARB
public static long wglGetPbufferDCARB(long pbuffer)
Creates a device context for the pbuffer.- Parameters:
pbuffer
- a pbuffer handle returned from a previous call toCreatePbufferARB
-
wglReleasePbufferDCARB
public static int wglReleasePbufferDCARB(long pbuffer, long hdc)
Releases a device context obtained from a previous call toGetPbufferDCARB
.- Parameters:
pbuffer
- a pbuffer handlehdc
- a device context handle
-
wglDestroyPbufferARB
public static boolean wglDestroyPbufferARB(long pbuffer)
Destroys a pbuffer.The pbuffer is destroyed once it is no longer current to any rendering context. When a pbuffer is destroyed, any memory resources that are attached to it are freed and its handle is no longer valid.
- Parameters:
pbuffer
- a pbuffer handle
-
wglQueryPbufferARB
public static boolean wglQueryPbufferARB(long pbuffer, int attribute, java.nio.IntBuffer value)
Queries an attribute associated with a specific pbuffer.- Parameters:
pbuffer
- a pbuffer handleattribute
- the attribute to query. One of:PBUFFER_WIDTH_ARB
PBUFFER_HEIGHT_ARB
PBUFFER_LOST_ARB
value
- the attribute value
-
wglCreatePbufferARB
public static long wglCreatePbufferARB(long hdc, int pixelFormat, int width, int height, int[] attribList)
Array version of:CreatePbufferARB
-
wglQueryPbufferARB
public static boolean wglQueryPbufferARB(long pbuffer, int attribute, int[] value)
Array version of:QueryPbufferARB
-
-