public class ARBRobustness
extends java.lang.Object
Several recent trends in how OpenGL integrates into modern computer systems have created new requirements for robustness and security for OpenGL rendering contexts.
Additionally GPU architectures now support hardware fault detection; for example, video memory supporting ECC (error correcting codes) and error detection. OpenGL contexts should be capable of recovering from hardware faults such as uncorrectable memory errors. Along with recovery from such hardware faults, the recovery mechanism can also allow recovery from video memory access exceptions and system software failures. System software failures can be due to device changes or driver failures.
Demands for increased software robustness and concerns about malware exploiting buffer overflows have lead API designers to provide additional "safe" APIs that bound the amount of data returned by an API query. For example, the safer "snprintf" or "_snprintf" routines are prefered over "sprintf".
The OpenGL API has many such robustness perils. OpenGL queries return (write) some number of bytes to a buffer indicated by a pointer parameter. The exact number of bytes written by existing OpenGL queries is not expressed directly by any specific parameter; instead the number of bytes returned is a complex function of one or more query arguments, sometimes context state such as pixel store modes or the active texture selector, and the current state of an object (such as a texture level's number of total texels). By the standards of modern API design, such queries are not "safe". Making these queries safer involves introducing a new query API with an additional parameter that specifies the number of bytes in the buffer and never writing bytes beyond that limit.
Multi-threaded use of OpenGL contexts in a "share group" allow sharing of objects such as textures and programs. Such sharing in conjunction with concurrent OpenGL commands stream execution by two or more contexts introduces hazards whereby one context can change objects in ways that can cause buffer overflows for another context's OpenGL queries.
The original ARB_vertex_buffer_object extension includes an issue that explicitly states program termination is allowed when out-of-bounds
vertex buffer object fetches occur. Modern GPUs capable of DirectX 10 enforce the well-defined behavior of always returning zero values for indices or
non-fixed components in this case. Older GPUs may require extra checks to enforce well-defined (and termination free) behavior, but this expense is
warranted when processing potentially untrusted content.
The intent of this extension is to address some specific robustness goals:
In one anticipated usage model, WebGL contexts may make use of these robust features to grant greater stability when using untrusted code. WebGL contexts cannot call OpenGL commands directly but rather must route all OpenGL API calls through the web browser. It is then the web browser that configures the context, using the commands in this extension, to enforce safe behavior. In this scenario, the WebGL content cannot specify or change the use of this extension's features itself; the web browser enforces this policy.
There are other well-known robustness issues with the OpenGL API which this extension does not address. For example, selector-based OpenGL commands are
a well-known source of programming errors. Code to manipulate texture state may assume the active texture selector is set appropriately when an
intervening function call obscures a change to the active texture state resulting in incorrectly updated or queried state. The
EXT_direct_state_access extension introduces selector-free OpenGL commands and queries to address that particular issue so this extension does
not.
The intent of this extension is NOT to deprecate any existing API and thereby introduce compatibility issues and coding burdens on existing code, but rather to provide new APIs to ensure a level of robustness commensurate with the expectations of modern applications of OpenGL.
| Modifier and Type | Field and Description |
|---|---|
static int |
GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB
Returned by GetIntegerv when
pname is CONTEXT_FLAGS. |
static int |
GL_GUILTY_CONTEXT_RESET_ARB
Returned by GetGraphicsResetStatusARB.
|
static int |
GL_INNOCENT_CONTEXT_RESET_ARB
Returned by GetGraphicsResetStatusARB.
|
static int |
GL_LOSE_CONTEXT_ON_RESET_ARB
Returned by GetIntegerv and related simple queries when
value is RESET_NOTIFICATION_STRATEGY_ARB. |
static int |
GL_NO_RESET_NOTIFICATION_ARB
Returned by GetIntegerv and related simple queries when
value is RESET_NOTIFICATION_STRATEGY_ARB. |
static int |
GL_RESET_NOTIFICATION_STRATEGY_ARB
Accepted by the
value parameter of GetBooleanv, GetIntegerv, GetInteger64v, GetFloatv, and GetDoublev. |
static int |
GL_UNKNOWN_CONTEXT_RESET_ARB
Returned by GetGraphicsResetStatusARB.
|
| Modifier and Type | Method and Description |
|---|---|
static int |
glGetGraphicsResetStatusARB()
The symbolic constant returned indicates if the GL context has been in a reset state at any point since the last call to
GetGraphicsResetStatusARB. |
static void |
glGetnColorTableARB(int target,
int format,
int type,
java.nio.ByteBuffer table)
Robust version of
GetColorTable |
static void |
glGetnColorTableARB(int target,
int format,
int type,
float[] table)
Array version of:
GetnColorTableARB |
static void |
glGetnColorTableARB(int target,
int format,
int type,
java.nio.FloatBuffer table)
Robust version of
GetColorTable |
static void |
glGetnColorTableARB(int target,
int format,
int type,
int[] table)
Array version of:
GetnColorTableARB |
static void |
glGetnColorTableARB(int target,
int format,
int type,
java.nio.IntBuffer table)
Robust version of
GetColorTable |
static void |
glGetnColorTableARB(int target,
int format,
int type,
int bufSize,
long table)
Robust version of
GetColorTable |
static void |
glGetnColorTableARB(int target,
int format,
int type,
short[] table)
Array version of:
GetnColorTableARB |
static void |
glGetnColorTableARB(int target,
int format,
int type,
java.nio.ShortBuffer table)
Robust version of
GetColorTable |
static void |
glGetnCompressedTexImageARB(int target,
int level,
java.nio.ByteBuffer img)
Robust version of
GetCompressedTexImage |
static void |
glGetnCompressedTexImageARB(int target,
int level,
int bufSize,
long img)
Robust version of
GetCompressedTexImage |
static void |
glGetnConvolutionFilterARB(int target,
int format,
int type,
java.nio.ByteBuffer image)
Robust version of
GetConvolutionFilter |
static void |
glGetnConvolutionFilterARB(int target,
int format,
int type,
int bufSize,
long image)
Robust version of
GetConvolutionFilter |
static void |
glGetnHistogramARB(int target,
boolean reset,
int format,
int type,
java.nio.ByteBuffer values)
Robust version of
GetHistogram |
static void |
glGetnHistogramARB(int target,
boolean reset,
int format,
int type,
int bufSize,
long values)
Robust version of
GetHistogram |
static double |
glGetnMapdARB(int target,
int query)
Robust version of
GetMapdv |
static void |
glGetnMapdvARB(int target,
int query,
double[] data)
Array version of:
GetnMapdvARB |
static void |
glGetnMapdvARB(int target,
int query,
java.nio.DoubleBuffer data)
Robust version of
GetMapdv |
static float |
glGetnMapfARB(int target,
int query)
Robust version of
GetMapfv |
static void |
glGetnMapfvARB(int target,
int query,
float[] data)
Array version of:
GetnMapfvARB |
static void |
glGetnMapfvARB(int target,
int query,
java.nio.FloatBuffer data)
Robust version of
GetMapfv |
static int |
glGetnMapiARB(int target,
int query)
Robust version of
GetMapiv |
static void |
glGetnMapivARB(int target,
int query,
int[] data)
Array version of:
GetnMapivARB |
static void |
glGetnMapivARB(int target,
int query,
java.nio.IntBuffer data)
Robust version of
GetMapiv |
static void |
glGetnMinmaxARB(int target,
boolean reset,
int format,
int type,
java.nio.ByteBuffer values)
Robust version of
GetMinmax |
static void |
glGetnMinmaxARB(int target,
boolean reset,
int format,
int type,
int bufSize,
long values)
Robust version of
GetMinmax |
static void |
glGetnPixelMapfvARB(int map,
float[] data)
Array version of:
GetnPixelMapfvARB |
static void |
glGetnPixelMapfvARB(int map,
java.nio.FloatBuffer data)
Robust version of
GetPixelMapfv |
static void |
glGetnPixelMapuivARB(int map,
int[] data)
Array version of:
GetnPixelMapuivARB |
static void |
glGetnPixelMapuivARB(int map,
java.nio.IntBuffer data)
Robust version of
GetPixelMapuiv |
static void |
glGetnPixelMapusvARB(int map,
short[] data)
Array version of:
GetnPixelMapusvARB |
static void |
glGetnPixelMapusvARB(int map,
java.nio.ShortBuffer data)
Robust version of
GetPixelMapusv |
static void |
glGetnPolygonStippleARB(java.nio.ByteBuffer pattern)
Robust version of
GetPolygonStipple |
static void |
glGetnPolygonStippleARB(int bufSize,
long pattern)
Robust version of
GetPolygonStipple |
static void |
glGetnSeparableFilterARB(int target,
int format,
int type,
java.nio.ByteBuffer row,
java.nio.ByteBuffer column,
java.nio.ByteBuffer span)
Robust version of
GetSeparableFilter |
static void |
glGetnSeparableFilterARB(int target,
int format,
int type,
int rowBufSize,
long row,
int columnBufSize,
long column,
java.nio.ByteBuffer span)
Robust version of
GetSeparableFilter |
static void |
glGetnTexImageARB(int tex,
int level,
int format,
int type,
java.nio.ByteBuffer img)
Robust version of
GetTexImage |
static void |
glGetnTexImageARB(int tex,
int level,
int format,
int type,
double[] img)
Array version of:
GetnTexImageARB |
static void |
glGetnTexImageARB(int tex,
int level,
int format,
int type,
java.nio.DoubleBuffer img)
Robust version of
GetTexImage |
static void |
glGetnTexImageARB(int tex,
int level,
int format,
int type,
float[] img)
Array version of:
GetnTexImageARB |
static void |
glGetnTexImageARB(int tex,
int level,
int format,
int type,
java.nio.FloatBuffer img)
Robust version of
GetTexImage |
static void |
glGetnTexImageARB(int tex,
int level,
int format,
int type,
int[] img)
Array version of:
GetnTexImageARB |
static void |
glGetnTexImageARB(int tex,
int level,
int format,
int type,
java.nio.IntBuffer img)
Robust version of
GetTexImage |
static void |
glGetnTexImageARB(int tex,
int level,
int format,
int type,
int bufSize,
long img)
Robust version of
GetTexImage |
static void |
glGetnTexImageARB(int tex,
int level,
int format,
int type,
short[] img)
Array version of:
GetnTexImageARB |
static void |
glGetnTexImageARB(int tex,
int level,
int format,
int type,
java.nio.ShortBuffer img)
Robust version of
GetTexImage |
static double |
glGetnUniformdARB(int program,
int location)
Robust version of
GetUniformdv |
static void |
glGetnUniformdvARB(int program,
int location,
double[] params)
Array version of:
GetnUniformdvARB |
static void |
glGetnUniformdvARB(int program,
int location,
java.nio.DoubleBuffer params)
Robust version of
GetUniformdv |
static float |
glGetnUniformfARB(int program,
int location)
Robust version of
GetUniformfv |
static void |
glGetnUniformfvARB(int program,
int location,
float[] params)
Array version of:
GetnUniformfvARB |
static void |
glGetnUniformfvARB(int program,
int location,
java.nio.FloatBuffer params)
Robust version of
GetUniformfv |
static int |
glGetnUniformiARB(int program,
int location)
Robust version of
GetUniformiv |
static void |
glGetnUniformivARB(int program,
int location,
int[] params)
Array version of:
GetnUniformivARB |
static void |
glGetnUniformivARB(int program,
int location,
java.nio.IntBuffer params)
Robust version of
GetUniformiv |
static int |
glGetnUniformuiARB(int program,
int location)
Robust version of
GetUniformuiv |
static void |
glGetnUniformuivARB(int program,
int location,
int[] params)
Array version of:
GetnUniformuivARB |
static void |
glGetnUniformuivARB(int program,
int location,
java.nio.IntBuffer params)
Robust version of
GetUniformuiv |
static void |
glReadnPixelsARB(int x,
int y,
int width,
int height,
int format,
int type,
java.nio.ByteBuffer data)
Robust version of
ReadPixels |
static void |
glReadnPixelsARB(int x,
int y,
int width,
int height,
int format,
int type,
float[] data)
Array version of:
ReadnPixelsARB |
static void |
glReadnPixelsARB(int x,
int y,
int width,
int height,
int format,
int type,
java.nio.FloatBuffer data)
Robust version of
ReadPixels |
static void |
glReadnPixelsARB(int x,
int y,
int width,
int height,
int format,
int type,
int[] data)
Array version of:
ReadnPixelsARB |
static void |
glReadnPixelsARB(int x,
int y,
int width,
int height,
int format,
int type,
java.nio.IntBuffer data)
Robust version of
ReadPixels |
static void |
glReadnPixelsARB(int x,
int y,
int width,
int height,
int format,
int type,
int bufSize,
long data)
Robust version of
ReadPixels |
static void |
glReadnPixelsARB(int x,
int y,
int width,
int height,
int format,
int type,
short[] data)
Array version of:
ReadnPixelsARB |
static void |
glReadnPixelsARB(int x,
int y,
int width,
int height,
int format,
int type,
java.nio.ShortBuffer data)
Robust version of
ReadPixels |
static void |
nglGetnColorTableARB(int target,
int format,
int type,
int bufSize,
long table)
Unsafe version of:
GetnColorTableARB |
static void |
nglGetnCompressedTexImageARB(int target,
int level,
int bufSize,
long img)
Unsafe version of:
GetnCompressedTexImageARB |
static void |
nglGetnConvolutionFilterARB(int target,
int format,
int type,
int bufSize,
long image)
Unsafe version of:
GetnConvolutionFilterARB |
static void |
nglGetnHistogramARB(int target,
boolean reset,
int format,
int type,
int bufSize,
long values)
Unsafe version of:
GetnHistogramARB |
static void |
nglGetnMapdvARB(int target,
int query,
int bufSize,
long data)
Unsafe version of:
GetnMapdvARB |
static void |
nglGetnMapfvARB(int target,
int query,
int bufSize,
long data)
Unsafe version of:
GetnMapfvARB |
static void |
nglGetnMapivARB(int target,
int query,
int bufSize,
long data)
Unsafe version of:
GetnMapivARB |
static void |
nglGetnMinmaxARB(int target,
boolean reset,
int format,
int type,
int bufSize,
long values)
Unsafe version of:
GetnMinmaxARB |
static void |
nglGetnPixelMapfvARB(int map,
int bufSize,
long data)
Unsafe version of:
GetnPixelMapfvARB |
static void |
nglGetnPixelMapuivARB(int map,
int bufSize,
long data)
Unsafe version of:
GetnPixelMapuivARB |
static void |
nglGetnPixelMapusvARB(int map,
int bufSize,
long data)
Unsafe version of:
GetnPixelMapusvARB |
static void |
nglGetnPolygonStippleARB(int bufSize,
long pattern)
Unsafe version of:
GetnPolygonStippleARB |
static void |
nglGetnSeparableFilterARB(int target,
int format,
int type,
int rowBufSize,
long row,
int columnBufSize,
long column,
long span)
Unsafe version of:
GetnSeparableFilterARB |
static void |
nglGetnTexImageARB(int tex,
int level,
int format,
int type,
int bufSize,
long img)
Unsafe version of:
GetnTexImageARB |
static void |
nglGetnUniformdvARB(int program,
int location,
int bufSize,
long params)
Unsafe version of:
GetnUniformdvARB |
static void |
nglGetnUniformfvARB(int program,
int location,
int bufSize,
long params)
Unsafe version of:
GetnUniformfvARB |
static void |
nglGetnUniformivARB(int program,
int location,
int bufSize,
long params)
Unsafe version of:
GetnUniformivARB |
static void |
nglGetnUniformuivARB(int program,
int location,
int bufSize,
long params)
Unsafe version of:
GetnUniformuivARB |
static void |
nglReadnPixelsARB(int x,
int y,
int width,
int height,
int format,
int type,
int bufSize,
long data)
Unsafe version of:
ReadnPixelsARB |
public static final int GL_GUILTY_CONTEXT_RESET_ARB
public static final int GL_INNOCENT_CONTEXT_RESET_ARB
public static final int GL_UNKNOWN_CONTEXT_RESET_ARB
public static final int GL_RESET_NOTIFICATION_STRATEGY_ARB
value parameter of GetBooleanv, GetIntegerv, GetInteger64v, GetFloatv, and GetDoublev.public static final int GL_LOSE_CONTEXT_ON_RESET_ARB
value is RESET_NOTIFICATION_STRATEGY_ARB.public static final int GL_NO_RESET_NOTIFICATION_ARB
value is RESET_NOTIFICATION_STRATEGY_ARB.public static final int GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB
pname is CONTEXT_FLAGS.public static int glGetGraphicsResetStatusARB()
GetGraphicsResetStatusARB.
NO_ERROR indicates that the GL context has not been in a reset state since the last call. GUILTY_CONTEXT_RESET_ARB indicates that a reset has
been detected that is attributable to the current GL context. INNOCENT_CONTEXT_RESET_ARB indicates a reset has been detected that is not attributable
to the current GL context. UNKNOWN_CONTEXT_RESET_ARB indicates a detected graphics reset whose cause is unknown.
If a reset status other than NO_ERROR is returned and subsequent calls return NO_ERROR, the context reset was encountered and completed. If a reset status is repeatedly returned, the context may be in the process of resetting.
Reset notification behavior is determined at context creation time, and may be queried by calling GetIntegerv with the symbolic constant
RESET_NOTIFICATION_STRATEGY_ARB.
If the reset notification behavior is NO_RESET_NOTIFICATION_ARB, then the implementation will never deliver notification of reset events, and
GetGraphicsResetStatusARB will always return NO_ERROR.
If the behavior is LOSE_CONTEXT_ON_RESET_ARB, a graphics reset will result in the loss of all context state, requiring the recreation of all associated
objects. In this case GetGraphicsResetStatusARB. may return any of the values described above.
If a graphics reset notification occurs in a context, a notification must also occur in all other contexts which share objects with that context.
public static void nglGetnMapdvARB(int target,
int query,
int bufSize,
long data)
GetnMapdvARBbufSize - the maximum number of bytes to write into datapublic static void glGetnMapdvARB(int target,
int query,
java.nio.DoubleBuffer data)
GetMapdvtarget - the evaluator mapquery - the information to querydata - a buffer in which to place the returned datapublic static double glGetnMapdARB(int target,
int query)
GetMapdvtarget - the evaluator mapquery - the information to querypublic static void nglGetnMapfvARB(int target,
int query,
int bufSize,
long data)
GetnMapfvARBbufSize - the maximum number of bytes to write into datapublic static void glGetnMapfvARB(int target,
int query,
java.nio.FloatBuffer data)
GetMapfvtarget - the evaluator mapquery - the information to querydata - a buffer in which to place the returned datapublic static float glGetnMapfARB(int target,
int query)
GetMapfvtarget - the evaluator mapquery - the information to querypublic static void nglGetnMapivARB(int target,
int query,
int bufSize,
long data)
GetnMapivARBbufSize - the maximum number of bytes to write into datapublic static void glGetnMapivARB(int target,
int query,
java.nio.IntBuffer data)
GetMapivtarget - the evaluator target. One of:query - the information to query. One of:ORDER | COEFF | DOMAIN |
data - a buffer in which to place the returned datapublic static int glGetnMapiARB(int target,
int query)
GetMapivtarget - the evaluator target. One of:query - the information to query. One of:ORDER | COEFF | DOMAIN |
public static void nglGetnPixelMapfvARB(int map,
int bufSize,
long data)
GetnPixelMapfvARBbufSize - the maximum number of bytes to write into datapublic static void glGetnPixelMapfvARB(int map,
java.nio.FloatBuffer data)
GetPixelMapfvmap - the pixel map parameter to query. One of:PIXEL_MAP_I_TO_I | PIXEL_MAP_S_TO_S | PIXEL_MAP_I_TO_R | PIXEL_MAP_I_TO_G | PIXEL_MAP_I_TO_B |
PIXEL_MAP_I_TO_A | PIXEL_MAP_R_TO_R | PIXEL_MAP_G_TO_G | PIXEL_MAP_B_TO_B | PIXEL_MAP_A_TO_A |
data - a buffer in which to place the returned datapublic static void nglGetnPixelMapuivARB(int map,
int bufSize,
long data)
GetnPixelMapuivARBbufSize - the maximum number of bytes to write into datapublic static void glGetnPixelMapuivARB(int map,
java.nio.IntBuffer data)
GetPixelMapuivmap - the pixel map parameter to querydata - a buffer in which to place the returned datapublic static void nglGetnPixelMapusvARB(int map,
int bufSize,
long data)
GetnPixelMapusvARBbufSize - the maximum number of bytes to write into datapublic static void glGetnPixelMapusvARB(int map,
java.nio.ShortBuffer data)
GetPixelMapusvmap - the pixel map parameter to querydata - a buffer in which to place the returned datapublic static void nglGetnPolygonStippleARB(int bufSize,
long pattern)
GetnPolygonStippleARBbufSize - the maximum number of bytes to write into patternpublic static void glGetnPolygonStippleARB(int bufSize,
long pattern)
GetPolygonStipplebufSize - the maximum number of bytes to write into patternpattern - a buffer in which to place the returned patternpublic static void glGetnPolygonStippleARB(java.nio.ByteBuffer pattern)
GetPolygonStipplepattern - a buffer in which to place the returned patternpublic static void nglGetnTexImageARB(int tex,
int level,
int format,
int type,
int bufSize,
long img)
GetnTexImageARBbufSize - the maximum number of bytes to write into imgpublic static void glGetnTexImageARB(int tex,
int level,
int format,
int type,
int bufSize,
long img)
GetTexImagetex - the texture (or texture face) to be obtained. One of:level - the level-of-detail numberformat - the pixel format. One of:RED | GREEN | BLUE | ALPHA | RG | RGB | RGBA | BGR |
BGRA | RED_INTEGER | GREEN_INTEGER | BLUE_INTEGER | ALPHA_INTEGER | RG_INTEGER | RGB_INTEGER | RGBA_INTEGER |
BGR_INTEGER | BGRA_INTEGER | STENCIL_INDEX | DEPTH_COMPONENT | DEPTH_STENCIL |
type - the pixel type. One of:bufSize - the maximum number of bytes to write into imgimg - a buffer in which to place the returned datapublic static void glGetnTexImageARB(int tex,
int level,
int format,
int type,
java.nio.ByteBuffer img)
GetTexImagetex - the texture (or texture face) to be obtained. One of:level - the level-of-detail numberformat - the pixel format. One of:RED | GREEN | BLUE | ALPHA | RG | RGB | RGBA | BGR |
BGRA | RED_INTEGER | GREEN_INTEGER | BLUE_INTEGER | ALPHA_INTEGER | RG_INTEGER | RGB_INTEGER | RGBA_INTEGER |
BGR_INTEGER | BGRA_INTEGER | STENCIL_INDEX | DEPTH_COMPONENT | DEPTH_STENCIL |
type - the pixel type. One of:img - a buffer in which to place the returned datapublic static void glGetnTexImageARB(int tex,
int level,
int format,
int type,
java.nio.ShortBuffer img)
GetTexImagetex - the texture (or texture face) to be obtained. One of:level - the level-of-detail numberformat - the pixel format. One of:RED | GREEN | BLUE | ALPHA | RG | RGB | RGBA | BGR |
BGRA | RED_INTEGER | GREEN_INTEGER | BLUE_INTEGER | ALPHA_INTEGER | RG_INTEGER | RGB_INTEGER | RGBA_INTEGER |
BGR_INTEGER | BGRA_INTEGER | STENCIL_INDEX | DEPTH_COMPONENT | DEPTH_STENCIL |
type - the pixel type. One of:img - a buffer in which to place the returned datapublic static void glGetnTexImageARB(int tex,
int level,
int format,
int type,
java.nio.IntBuffer img)
GetTexImagetex - the texture (or texture face) to be obtained. One of:level - the level-of-detail numberformat - the pixel format. One of:RED | GREEN | BLUE | ALPHA | RG | RGB | RGBA | BGR |
BGRA | RED_INTEGER | GREEN_INTEGER | BLUE_INTEGER | ALPHA_INTEGER | RG_INTEGER | RGB_INTEGER | RGBA_INTEGER |
BGR_INTEGER | BGRA_INTEGER | STENCIL_INDEX | DEPTH_COMPONENT | DEPTH_STENCIL |
type - the pixel type. One of:img - a buffer in which to place the returned datapublic static void glGetnTexImageARB(int tex,
int level,
int format,
int type,
java.nio.FloatBuffer img)
GetTexImagetex - the texture (or texture face) to be obtained. One of:level - the level-of-detail numberformat - the pixel format. One of:RED | GREEN | BLUE | ALPHA | RG | RGB | RGBA | BGR |
BGRA | RED_INTEGER | GREEN_INTEGER | BLUE_INTEGER | ALPHA_INTEGER | RG_INTEGER | RGB_INTEGER | RGBA_INTEGER |
BGR_INTEGER | BGRA_INTEGER | STENCIL_INDEX | DEPTH_COMPONENT | DEPTH_STENCIL |
type - the pixel type. One of:img - a buffer in which to place the returned datapublic static void glGetnTexImageARB(int tex,
int level,
int format,
int type,
java.nio.DoubleBuffer img)
GetTexImagetex - the texture (or texture face) to be obtained. One of:level - the level-of-detail numberformat - the pixel format. One of:RED | GREEN | BLUE | ALPHA | RG | RGB | RGBA | BGR |
BGRA | RED_INTEGER | GREEN_INTEGER | BLUE_INTEGER | ALPHA_INTEGER | RG_INTEGER | RGB_INTEGER | RGBA_INTEGER |
BGR_INTEGER | BGRA_INTEGER | STENCIL_INDEX | DEPTH_COMPONENT | DEPTH_STENCIL |
type - the pixel type. One of:img - a buffer in which to place the returned datapublic static void nglReadnPixelsARB(int x,
int y,
int width,
int height,
int format,
int type,
int bufSize,
long data)
ReadnPixelsARBbufSize - the maximum number of bytes to write into datapublic static void glReadnPixelsARB(int x,
int y,
int width,
int height,
int format,
int type,
int bufSize,
long data)
ReadPixelsx - the left pixel coordinatey - the lower pixel coordinatewidth - the number of pixels to read in the x-dimensionheight - the number of pixels to read in the y-dimensionformat - the pixel format. One of:RED | GREEN | BLUE | ALPHA | RG | RGB | RGBA | BGR |
BGRA | RED_INTEGER | GREEN_INTEGER | BLUE_INTEGER | ALPHA_INTEGER | RG_INTEGER | RGB_INTEGER | RGBA_INTEGER |
BGR_INTEGER | BGRA_INTEGER | STENCIL_INDEX | DEPTH_COMPONENT | DEPTH_STENCIL |
type - the pixel type. One of:bufSize - the maximum number of bytes to write into datadata - a buffer in which to place the returned datapublic static void glReadnPixelsARB(int x,
int y,
int width,
int height,
int format,
int type,
java.nio.ByteBuffer data)
ReadPixelsx - the left pixel coordinatey - the lower pixel coordinatewidth - the number of pixels to read in the x-dimensionheight - the number of pixels to read in the y-dimensionformat - the pixel format. One of:RED | GREEN | BLUE | ALPHA | RG | RGB | RGBA | BGR |
BGRA | RED_INTEGER | GREEN_INTEGER | BLUE_INTEGER | ALPHA_INTEGER | RG_INTEGER | RGB_INTEGER | RGBA_INTEGER |
BGR_INTEGER | BGRA_INTEGER | STENCIL_INDEX | DEPTH_COMPONENT | DEPTH_STENCIL |
type - the pixel type. One of:data - a buffer in which to place the returned datapublic static void glReadnPixelsARB(int x,
int y,
int width,
int height,
int format,
int type,
java.nio.ShortBuffer data)
ReadPixelsx - the left pixel coordinatey - the lower pixel coordinatewidth - the number of pixels to read in the x-dimensionheight - the number of pixels to read in the y-dimensionformat - the pixel format. One of:RED | GREEN | BLUE | ALPHA | RG | RGB | RGBA | BGR |
BGRA | RED_INTEGER | GREEN_INTEGER | BLUE_INTEGER | ALPHA_INTEGER | RG_INTEGER | RGB_INTEGER | RGBA_INTEGER |
BGR_INTEGER | BGRA_INTEGER | STENCIL_INDEX | DEPTH_COMPONENT | DEPTH_STENCIL |
type - the pixel type. One of:data - a buffer in which to place the returned datapublic static void glReadnPixelsARB(int x,
int y,
int width,
int height,
int format,
int type,
java.nio.IntBuffer data)
ReadPixelsx - the left pixel coordinatey - the lower pixel coordinatewidth - the number of pixels to read in the x-dimensionheight - the number of pixels to read in the y-dimensionformat - the pixel format. One of:RED | GREEN | BLUE | ALPHA | RG | RGB | RGBA | BGR |
BGRA | RED_INTEGER | GREEN_INTEGER | BLUE_INTEGER | ALPHA_INTEGER | RG_INTEGER | RGB_INTEGER | RGBA_INTEGER |
BGR_INTEGER | BGRA_INTEGER | STENCIL_INDEX | DEPTH_COMPONENT | DEPTH_STENCIL |
type - the pixel type. One of:data - a buffer in which to place the returned datapublic static void glReadnPixelsARB(int x,
int y,
int width,
int height,
int format,
int type,
java.nio.FloatBuffer data)
ReadPixelsx - the left pixel coordinatey - the lower pixel coordinatewidth - the number of pixels to read in the x-dimensionheight - the number of pixels to read in the y-dimensionformat - the pixel format. One of:RED | GREEN | BLUE | ALPHA | RG | RGB | RGBA | BGR |
BGRA | RED_INTEGER | GREEN_INTEGER | BLUE_INTEGER | ALPHA_INTEGER | RG_INTEGER | RGB_INTEGER | RGBA_INTEGER |
BGR_INTEGER | BGRA_INTEGER | STENCIL_INDEX | DEPTH_COMPONENT | DEPTH_STENCIL |
type - the pixel type. One of:data - a buffer in which to place the returned datapublic static void nglGetnColorTableARB(int target,
int format,
int type,
int bufSize,
long table)
GetnColorTableARBbufSize - the maximum number of bytes to write into tablepublic static void glGetnColorTableARB(int target,
int format,
int type,
int bufSize,
long table)
GetColorTabletarget - the color table target. One of:COLOR_TABLE | POST_CONVOLUTION_COLOR_TABLE | POST_COLOR_MATRIX_COLOR_TABLE |
format - the color data format. One of:RED | GREEN | BLUE | ALPHA | RGB | RGBA | BGR | BGRA | LUMINANCE | LUMINANCE_ALPHA |
type - the color data type. One of:bufSize - the maximum number of bytes to write into tabletable - a buffer in which to place the returned datapublic static void glGetnColorTableARB(int target,
int format,
int type,
java.nio.ByteBuffer table)
GetColorTabletarget - the color table target. One of:COLOR_TABLE | POST_CONVOLUTION_COLOR_TABLE | POST_COLOR_MATRIX_COLOR_TABLE |
format - the color data format. One of:RED | GREEN | BLUE | ALPHA | RGB | RGBA | BGR | BGRA | LUMINANCE | LUMINANCE_ALPHA |
type - the color data type. One of:table - a buffer in which to place the returned datapublic static void glGetnColorTableARB(int target,
int format,
int type,
java.nio.ShortBuffer table)
GetColorTabletarget - the color table target. One of:COLOR_TABLE | POST_CONVOLUTION_COLOR_TABLE | POST_COLOR_MATRIX_COLOR_TABLE |
format - the color data format. One of:RED | GREEN | BLUE | ALPHA | RGB | RGBA | BGR | BGRA | LUMINANCE | LUMINANCE_ALPHA |
type - the color data type. One of:table - a buffer in which to place the returned datapublic static void glGetnColorTableARB(int target,
int format,
int type,
java.nio.IntBuffer table)
GetColorTabletarget - the color table target. One of:COLOR_TABLE | POST_CONVOLUTION_COLOR_TABLE | POST_COLOR_MATRIX_COLOR_TABLE |
format - the color data format. One of:RED | GREEN | BLUE | ALPHA | RGB | RGBA | BGR | BGRA | LUMINANCE | LUMINANCE_ALPHA |
type - the color data type. One of:table - a buffer in which to place the returned datapublic static void glGetnColorTableARB(int target,
int format,
int type,
java.nio.FloatBuffer table)
GetColorTabletarget - the color table target. One of:COLOR_TABLE | POST_CONVOLUTION_COLOR_TABLE | POST_COLOR_MATRIX_COLOR_TABLE |
format - the color data format. One of:RED | GREEN | BLUE | ALPHA | RGB | RGBA | BGR | BGRA | LUMINANCE | LUMINANCE_ALPHA |
type - the color data type. One of:table - a buffer in which to place the returned datapublic static void nglGetnConvolutionFilterARB(int target,
int format,
int type,
int bufSize,
long image)
GetnConvolutionFilterARBbufSize - the maximum number of bytes to write into imagepublic static void glGetnConvolutionFilterARB(int target,
int format,
int type,
int bufSize,
long image)
GetConvolutionFiltertarget - the convolution target. One of:CONVOLUTION_1D | CONVOLUTION_2D |
format - the filter data format. One of:RED | GREEN | BLUE | ALPHA | RGB | RGBA | BGR | BGRA | LUMINANCE | LUMINANCE_ALPHA |
type - the filter data type. One of:bufSize - the maximum number of bytes to write into imageimage - a buffer in which to place the returned datapublic static void glGetnConvolutionFilterARB(int target,
int format,
int type,
java.nio.ByteBuffer image)
GetConvolutionFiltertarget - the convolution target. One of:CONVOLUTION_1D | CONVOLUTION_2D |
format - the filter data format. One of:RED | GREEN | BLUE | ALPHA | RGB | RGBA | BGR | BGRA | LUMINANCE | LUMINANCE_ALPHA |
type - the filter data type. One of:image - a buffer in which to place the returned datapublic static void nglGetnSeparableFilterARB(int target,
int format,
int type,
int rowBufSize,
long row,
int columnBufSize,
long column,
long span)
GetnSeparableFilterARBrowBufSize - the maximum number of bytes to write into rowcolumnBufSize - the maximum number of bytes to write into columnpublic static void glGetnSeparableFilterARB(int target,
int format,
int type,
int rowBufSize,
long row,
int columnBufSize,
long column,
@Nullable
java.nio.ByteBuffer span)
GetSeparableFiltertarget - the filter target. Must be:SEPARABLE_2D |
format - the filter data format. One of:RED | GREEN | BLUE | ALPHA | RGB | RGBA | BGR | BGRA | LUMINANCE | LUMINANCE_ALPHA |
type - the filter data type. One of:rowBufSize - the maximum number of bytes to write into rowrow - a buffer in which to return the filter rowcolumnBufSize - the maximum number of bytes to write into columncolumn - a buffer in which to return the filter columnpublic static void glGetnSeparableFilterARB(int target,
int format,
int type,
java.nio.ByteBuffer row,
java.nio.ByteBuffer column,
@Nullable
java.nio.ByteBuffer span)
GetSeparableFiltertarget - the filter target. Must be:SEPARABLE_2D |
format - the filter data format. One of:RED | GREEN | BLUE | ALPHA | RGB | RGBA | BGR | BGRA | LUMINANCE | LUMINANCE_ALPHA |
type - the filter data type. One of:row - a buffer in which to return the filter rowcolumn - a buffer in which to return the filter columnpublic static void nglGetnHistogramARB(int target,
boolean reset,
int format,
int type,
int bufSize,
long values)
GetnHistogramARBbufSize - the maximum number of bytes to write into valuespublic static void glGetnHistogramARB(int target,
boolean reset,
int format,
int type,
int bufSize,
long values)
GetHistogramtarget - the histogram target. Must be:HISTOGRAM |
reset - if TRUE, then all counters of all elements of the histogram are reset to zero. Counters are reset whether returned or not.format - the pixel data format. One of:RED | GREEN | BLUE | ALPHA | RGB | RGBA | BGR | BGRA | LUMINANCE | LUMINANCE_ALPHA |
type - the pixel data types. One of:bufSize - the maximum number of bytes to write into valuesvalues - a buffer in which to place the returned datapublic static void glGetnHistogramARB(int target,
boolean reset,
int format,
int type,
java.nio.ByteBuffer values)
GetHistogramtarget - the histogram target. Must be:HISTOGRAM |
reset - if TRUE, then all counters of all elements of the histogram are reset to zero. Counters are reset whether returned or not.format - the pixel data format. One of:RED | GREEN | BLUE | ALPHA | RGB | RGBA | BGR | BGRA | LUMINANCE | LUMINANCE_ALPHA |
type - the pixel data types. One of:values - a buffer in which to place the returned datapublic static void nglGetnMinmaxARB(int target,
boolean reset,
int format,
int type,
int bufSize,
long values)
GetnMinmaxARBbufSize - the maximum number of bytes to write into valuespublic static void glGetnMinmaxARB(int target,
boolean reset,
int format,
int type,
int bufSize,
long values)
GetMinmaxtarget - the minmax target. Must be:MINMAX |
reset - If TRUE, then each minimum value is reset to the maximum representable value, and each maximum value is reset to the minimum
representable value. All values are reset, whether returned or not.format - the pixel data format. One of:RED | GREEN | BLUE | ALPHA | RGB | RGBA | BGR | BGRA | LUMINANCE | LUMINANCE_ALPHA |
type - the pixel data type. One of:bufSize - the maximum number of bytes to write into valuesvalues - a buffer in which to place the returned datapublic static void glGetnMinmaxARB(int target,
boolean reset,
int format,
int type,
java.nio.ByteBuffer values)
GetMinmaxtarget - the minmax target. Must be:MINMAX |
reset - If TRUE, then each minimum value is reset to the maximum representable value, and each maximum value is reset to the minimum
representable value. All values are reset, whether returned or not.format - the pixel data format. One of:RED | GREEN | BLUE | ALPHA | RGB | RGBA | BGR | BGRA | LUMINANCE | LUMINANCE_ALPHA |
type - the pixel data type. One of:values - a buffer in which to place the returned datapublic static void nglGetnCompressedTexImageARB(int target,
int level,
int bufSize,
long img)
GetnCompressedTexImageARBbufSize - the maximum number of bytes to write into imgpublic static void glGetnCompressedTexImageARB(int target,
int level,
int bufSize,
long img)
GetCompressedTexImagetarget - the target texture. One of:level - the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.bufSize - the maximum number of bytes to write into imgimg - a buffer in which to place the returned datapublic static void glGetnCompressedTexImageARB(int target,
int level,
java.nio.ByteBuffer img)
GetCompressedTexImagetarget - the target texture. One of:level - the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.img - a buffer in which to place the returned datapublic static void nglGetnUniformfvARB(int program,
int location,
int bufSize,
long params)
GetnUniformfvARBbufSize - the maximum number of bytes to write into paramspublic static void glGetnUniformfvARB(int program,
int location,
java.nio.FloatBuffer params)
GetUniformfvprogram - the program object to be queriedlocation - the location of the uniform variable to be queriedparams - a buffer in which to place the returned datapublic static float glGetnUniformfARB(int program,
int location)
GetUniformfvprogram - the program object to be queriedlocation - the location of the uniform variable to be queriedpublic static void nglGetnUniformivARB(int program,
int location,
int bufSize,
long params)
GetnUniformivARBbufSize - the maximum number of bytes to write into paramspublic static void glGetnUniformivARB(int program,
int location,
java.nio.IntBuffer params)
GetUniformivprogram - the program object to be queriedlocation - the location of the uniform variable to be queriedparams - a buffer in which to place the returned datapublic static int glGetnUniformiARB(int program,
int location)
GetUniformivprogram - the program object to be queriedlocation - the location of the uniform variable to be queriedpublic static void nglGetnUniformuivARB(int program,
int location,
int bufSize,
long params)
GetnUniformuivARBbufSize - the maximum number of bytes to write into paramspublic static void glGetnUniformuivARB(int program,
int location,
java.nio.IntBuffer params)
GetUniformuivprogram - the program object to be queriedlocation - the location of the uniform variable to be queriedparams - a buffer in which to place the returned datapublic static int glGetnUniformuiARB(int program,
int location)
GetUniformuivprogram - the program object to be queriedlocation - the location of the uniform variable to be queriedpublic static void nglGetnUniformdvARB(int program,
int location,
int bufSize,
long params)
GetnUniformdvARBbufSize - the maximum number of bytes to write into paramspublic static void glGetnUniformdvARB(int program,
int location,
java.nio.DoubleBuffer params)
GetUniformdvprogram - the program object to be queriedlocation - the location of the uniform variable to be queriedparams - a buffer in which to place the returned datapublic static double glGetnUniformdARB(int program,
int location)
GetUniformdvprogram - the program object to be queriedlocation - the location of the uniform variable to be queriedpublic static void glGetnMapdvARB(int target,
int query,
double[] data)
GetnMapdvARBpublic static void glGetnMapfvARB(int target,
int query,
float[] data)
GetnMapfvARBpublic static void glGetnMapivARB(int target,
int query,
int[] data)
GetnMapivARBpublic static void glGetnPixelMapfvARB(int map,
float[] data)
GetnPixelMapfvARBpublic static void glGetnPixelMapuivARB(int map,
int[] data)
GetnPixelMapuivARBpublic static void glGetnPixelMapusvARB(int map,
short[] data)
GetnPixelMapusvARBpublic static void glGetnTexImageARB(int tex,
int level,
int format,
int type,
short[] img)
GetnTexImageARBpublic static void glGetnTexImageARB(int tex,
int level,
int format,
int type,
int[] img)
GetnTexImageARBpublic static void glGetnTexImageARB(int tex,
int level,
int format,
int type,
float[] img)
GetnTexImageARBpublic static void glGetnTexImageARB(int tex,
int level,
int format,
int type,
double[] img)
GetnTexImageARBpublic static void glReadnPixelsARB(int x,
int y,
int width,
int height,
int format,
int type,
short[] data)
ReadnPixelsARBpublic static void glReadnPixelsARB(int x,
int y,
int width,
int height,
int format,
int type,
int[] data)
ReadnPixelsARBpublic static void glReadnPixelsARB(int x,
int y,
int width,
int height,
int format,
int type,
float[] data)
ReadnPixelsARBpublic static void glGetnColorTableARB(int target,
int format,
int type,
short[] table)
GetnColorTableARBpublic static void glGetnColorTableARB(int target,
int format,
int type,
int[] table)
GetnColorTableARBpublic static void glGetnColorTableARB(int target,
int format,
int type,
float[] table)
GetnColorTableARBpublic static void glGetnUniformfvARB(int program,
int location,
float[] params)
GetnUniformfvARBpublic static void glGetnUniformivARB(int program,
int location,
int[] params)
GetnUniformivARBpublic static void glGetnUniformuivARB(int program,
int location,
int[] params)
GetnUniformuivARBpublic static void glGetnUniformdvARB(int program,
int location,
double[] params)
GetnUniformdvARBCopyright LWJGL. All Rights Reserved. License terms.