Class ARBRobustness
- java.lang.Object
-
- org.lwjgl.opengl.ARBRobustness
-
public class ARBRobustness extends java.lang.Object
Native bindings to the ARB_robustness extension.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:
- For all existing OpenGL queries, provide additional "safe" APIs that limit data written to user pointers to a buffer size in bytes that is an explicit additional parameter of the query.
- Provide a mechanism for an OpenGL application to learn about graphics resets that affect the context. When a graphics reset occurs, the OpenGL context becomes unusable and the application must create a new context to continue operation. Detecting a graphics reset happens through an inexpensive query.
- Provide an enable to guarantee that out-of-bounds buffer object accesses by the GPU will have deterministic behavior and preclude application instability or termination due to an incorrect buffer access. Such accesses include vertex buffer fetches of attributes and indices, and indexed reads of uniforms or parameters from buffers.
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.
-
-
Field Summary
Fields Modifier and Type Field and Description static int
GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB
Returned by GetIntegerv whenpname
is CONTEXT_FLAGS.static int
GL_GUILTY_CONTEXT_RESET_ARB
GL_INNOCENT_CONTEXT_RESET_ARBReturned by GetGraphicsResetStatusARB.static int
GL_LOSE_CONTEXT_ON_RESET_ARB
GL_NO_RESET_NOTIFICATION_ARBReturned by GetIntegerv and related simple queries whenvalue
is RESET_NOTIFICATION_STRATEGY_ARB.static int
GL_RESET_NOTIFICATION_STRATEGY_ARB
Accepted by thevalue
parameter of GetBooleanv, GetIntegerv, GetInteger64v, GetFloatv, and GetDoublev.static int
GL_UNKNOWN_CONTEXT_RESET_ARB
Returned by GetGraphicsResetStatusARB.
-
Method Summary
All Methods Static Methods Concrete Methods 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 toGetGraphicsResetStatusARB
.static void
glGetnColorTableARB(int target, int format, int type, java.nio.ByteBuffer table)
Robust version ofGetColorTable
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 ofGetColorTable
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 ofGetColorTable
static void
glGetnColorTableARB(int target, int format, int type, int bufSize, long table)
Robust version ofGetColorTable
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 ofGetColorTable
static void
glGetnCompressedTexImageARB(int target, int level, java.nio.ByteBuffer img)
Robust version ofGetCompressedTexImage
static void
glGetnCompressedTexImageARB(int target, int level, int bufSize, long img)
Robust version ofGetCompressedTexImage
static void
glGetnConvolutionFilterARB(int target, int format, int type, java.nio.ByteBuffer image)
Robust version ofGetConvolutionFilter
static void
glGetnConvolutionFilterARB(int target, int format, int type, int bufSize, long image)
Robust version ofGetConvolutionFilter
static void
glGetnHistogramARB(int target, boolean reset, int format, int type, java.nio.ByteBuffer values)
Robust version ofGetHistogram
static void
glGetnHistogramARB(int target, boolean reset, int format, int type, int bufSize, long values)
Robust version ofGetHistogram
static double
glGetnMapdARB(int target, int query)
Robust version ofGetMapdv
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 ofGetMapdv
static float
glGetnMapfARB(int target, int query)
Robust version ofGetMapfv
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 ofGetMapfv
static int
glGetnMapiARB(int target, int query)
Robust version ofGetMapiv
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 ofGetMapiv
static void
glGetnMinmaxARB(int target, boolean reset, int format, int type, java.nio.ByteBuffer values)
Robust version ofGetMinmax
static void
glGetnMinmaxARB(int target, boolean reset, int format, int type, int bufSize, long values)
Robust version ofGetMinmax
static void
glGetnPixelMapfvARB(int map, float[] data)
Array version of:GetnPixelMapfvARB
static void
glGetnPixelMapfvARB(int map, java.nio.FloatBuffer data)
Robust version ofGetPixelMapfv
static void
glGetnPixelMapuivARB(int map, int[] data)
Array version of:GetnPixelMapuivARB
static void
glGetnPixelMapuivARB(int map, java.nio.IntBuffer data)
Robust version ofGetPixelMapuiv
static void
glGetnPixelMapusvARB(int map, short[] data)
Array version of:GetnPixelMapusvARB
static void
glGetnPixelMapusvARB(int map, java.nio.ShortBuffer data)
Robust version ofGetPixelMapusv
static void
glGetnPolygonStippleARB(java.nio.ByteBuffer pattern)
Robust version ofGetPolygonStipple
static void
glGetnPolygonStippleARB(int bufSize, long pattern)
Robust version ofGetPolygonStipple
static void
glGetnSeparableFilterARB(int target, int format, int type, java.nio.ByteBuffer row, java.nio.ByteBuffer column, java.nio.ByteBuffer span)
Robust version ofGetSeparableFilter
static void
glGetnSeparableFilterARB(int target, int format, int type, int rowBufSize, long row, int columnBufSize, long column, java.nio.ByteBuffer span)
Robust version ofGetSeparableFilter
static void
glGetnTexImageARB(int tex, int level, int format, int type, java.nio.ByteBuffer img)
Robust version ofGetTexImage
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 ofGetTexImage
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 ofGetTexImage
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 ofGetTexImage
static void
glGetnTexImageARB(int tex, int level, int format, int type, int bufSize, long img)
Robust version ofGetTexImage
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 ofGetTexImage
static double
glGetnUniformdARB(int program, int location)
Robust version ofGetUniformdv
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 ofGetUniformdv
static float
glGetnUniformfARB(int program, int location)
Robust version ofGetUniformfv
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 ofGetUniformfv
static int
glGetnUniformiARB(int program, int location)
Robust version ofGetUniformiv
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 ofGetUniformiv
static int
glGetnUniformuiARB(int program, int location)
Robust version ofGetUniformuiv
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 ofGetUniformuiv
static void
glReadnPixelsARB(int x, int y, int width, int height, int format, int type, java.nio.ByteBuffer data)
Robust version ofReadPixels
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 ofReadPixels
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 ofReadPixels
static void
glReadnPixelsARB(int x, int y, int width, int height, int format, int type, int bufSize, long data)
Robust version ofReadPixels
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 ofReadPixels
-
-
-
Field Detail
-
GL_GUILTY_CONTEXT_RESET_ARB, GL_INNOCENT_CONTEXT_RESET_ARB, GL_UNKNOWN_CONTEXT_RESET_ARB
Returned by GetGraphicsResetStatusARB.
-
GL_RESET_NOTIFICATION_STRATEGY_ARB
Accepted by thevalue
parameter of GetBooleanv, GetIntegerv, GetInteger64v, GetFloatv, and GetDoublev.
-
GL_LOSE_CONTEXT_ON_RESET_ARB, GL_NO_RESET_NOTIFICATION_ARB
Returned by GetIntegerv and related simple queries whenvalue
is RESET_NOTIFICATION_STRATEGY_ARB.
-
GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB
Returned by GetIntegerv whenpname
is CONTEXT_FLAGS.
-
-
Method Detail
-
glGetGraphicsResetStatusARB
public 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 toGetGraphicsResetStatusARB
.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 constantRESET_NOTIFICATION_STRATEGY_ARB
.If the reset notification behavior is
NO_RESET_NOTIFICATION_ARB
, then the implementation will never deliver notification of reset events, andGetGraphicsResetStatusARB
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 caseGetGraphicsResetStatusARB
. 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.
-
glGetnMapdvARB
public static void glGetnMapdvARB(int target, int query, java.nio.DoubleBuffer data)
Robust version ofGetMapdv
- Parameters:
target
- the evaluator mapquery
- the information to querydata
- a buffer in which to place the returned data
-
glGetnMapdARB
public static double glGetnMapdARB(int target, int query)
Robust version ofGetMapdv
- Parameters:
target
- the evaluator mapquery
- the information to query
-
glGetnMapfvARB
public static void glGetnMapfvARB(int target, int query, java.nio.FloatBuffer data)
Robust version ofGetMapfv
- Parameters:
target
- the evaluator mapquery
- the information to querydata
- a buffer in which to place the returned data
-
glGetnMapfARB
public static float glGetnMapfARB(int target, int query)
Robust version ofGetMapfv
- Parameters:
target
- the evaluator mapquery
- the information to query
-
glGetnMapivARB
public static void glGetnMapivARB(int target, int query, java.nio.IntBuffer data)
Robust version ofGetMapiv
- Parameters:
target
- the evaluator target. One of:query
- the information to query. One of:ORDER
COEFF
DOMAIN
data
- a buffer in which to place the returned data
-
glGetnMapiARB
public static int glGetnMapiARB(int target, int query)
Robust version ofGetMapiv
- Parameters:
target
- the evaluator target. One of:query
- the information to query. One of:ORDER
COEFF
DOMAIN
-
glGetnPixelMapfvARB
public static void glGetnPixelMapfvARB(int map, java.nio.FloatBuffer data)
Robust version ofGetPixelMapfv
- Parameters:
map
- 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 data
-
glGetnPixelMapuivARB
public static void glGetnPixelMapuivARB(int map, java.nio.IntBuffer data)
Robust version ofGetPixelMapuiv
- Parameters:
map
- the pixel map parameter to querydata
- a buffer in which to place the returned data
-
glGetnPixelMapusvARB
public static void glGetnPixelMapusvARB(int map, java.nio.ShortBuffer data)
Robust version ofGetPixelMapusv
- Parameters:
map
- the pixel map parameter to querydata
- a buffer in which to place the returned data
-
glGetnPolygonStippleARB
public static void glGetnPolygonStippleARB(int bufSize, long pattern)
Robust version ofGetPolygonStipple
- Parameters:
bufSize
- the maximum number of bytes to write intopattern
pattern
- a buffer in which to place the returned pattern
-
glGetnPolygonStippleARB
public static void glGetnPolygonStippleARB(java.nio.ByteBuffer pattern)
Robust version ofGetPolygonStipple
- Parameters:
pattern
- a buffer in which to place the returned pattern
-
glGetnTexImageARB
public static void glGetnTexImageARB(int tex, int level, int format, int type, int bufSize, long img)
Robust version ofGetTexImage
- Parameters:
tex
- the texture (or texture face) to be obtained. One of:level
- the level-of-detail numberformat
- the pixel format. One of:type
- the pixel type. One of:bufSize
- the maximum number of bytes to write intoimg
img
- a buffer in which to place the returned data
-
glGetnTexImageARB
public static void glGetnTexImageARB(int tex, int level, int format, int type, java.nio.ByteBuffer img) public static void glGetnTexImageARB(int tex, int level, int format, int type, java.nio.ShortBuffer img) public static void glGetnTexImageARB(int tex, int level, int format, int type, java.nio.IntBuffer img) public static void glGetnTexImageARB(int tex, int level, int format, int type, java.nio.FloatBuffer img) public static void glGetnTexImageARB(int tex, int level, int format, int type, java.nio.DoubleBuffer img)
Robust version ofGetTexImage
- Parameters:
tex
- the texture (or texture face) to be obtained. One of:level
- the level-of-detail numberformat
- the pixel format. One of:type
- the pixel type. One of:img
- a buffer in which to place the returned data
-
glReadnPixelsARB
public static void glReadnPixelsARB(int x, int y, int width, int height, int format, int type, int bufSize, long data)
Robust version ofReadPixels
- Parameters:
x
- 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:type
- the pixel type. One of:bufSize
- the maximum number of bytes to write intodata
data
- a buffer in which to place the returned data
-
glReadnPixelsARB
public static void glReadnPixelsARB(int x, int y, int width, int height, int format, int type, java.nio.ByteBuffer data) public static void glReadnPixelsARB(int x, int y, int width, int height, int format, int type, java.nio.ShortBuffer data) public static void glReadnPixelsARB(int x, int y, int width, int height, int format, int type, java.nio.IntBuffer data) public static void glReadnPixelsARB(int x, int y, int width, int height, int format, int type, java.nio.FloatBuffer data)
Robust version ofReadPixels
- Parameters:
x
- 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:type
- the pixel type. One of:data
- a buffer in which to place the returned data
-
glGetnColorTableARB
public static void glGetnColorTableARB(int target, int format, int type, int bufSize, long table)
Robust version ofGetColorTable
- Parameters:
target
- 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 intotable
table
- a buffer in which to place the returned data
-
glGetnColorTableARB
public static void glGetnColorTableARB(int target, int format, int type, java.nio.ByteBuffer table) public static void glGetnColorTableARB(int target, int format, int type, java.nio.ShortBuffer table) public static void glGetnColorTableARB(int target, int format, int type, java.nio.IntBuffer table) public static void glGetnColorTableARB(int target, int format, int type, java.nio.FloatBuffer table)
Robust version ofGetColorTable
- Parameters:
target
- 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 data
-
glGetnConvolutionFilterARB
public static void glGetnConvolutionFilterARB(int target, int format, int type, int bufSize, long image)
Robust version ofGetConvolutionFilter
- Parameters:
target
- 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 intoimage
image
- a buffer in which to place the returned data
-
glGetnConvolutionFilterARB
public static void glGetnConvolutionFilterARB(int target, int format, int type, java.nio.ByteBuffer image)
Robust version ofGetConvolutionFilter
- Parameters:
target
- 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 data
-
glGetnSeparableFilterARB
public static void glGetnSeparableFilterARB(int target, int format, int type, int rowBufSize, long row, int columnBufSize, long column, java.nio.ByteBuffer span)
Robust version ofGetSeparableFilter
- Parameters:
target
- 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 intorow
row
- a buffer in which to return the filter rowcolumnBufSize
- the maximum number of bytes to write intocolumn
column
- a buffer in which to return the filter columnspan
-
-
glGetnSeparableFilterARB
public static void glGetnSeparableFilterARB(int target, int format, int type, java.nio.ByteBuffer row, java.nio.ByteBuffer column, java.nio.ByteBuffer span)
Robust version ofGetSeparableFilter
- Parameters:
target
- 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 columnspan
-
-
glGetnHistogramARB
public static void glGetnHistogramARB(int target, boolean reset, int format, int type, int bufSize, long values)
Robust version ofGetHistogram
- Parameters:
target
- the histogram target. Must be:HISTOGRAM
reset
- ifTRUE
, 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 intovalues
values
- a buffer in which to place the returned data
-
glGetnHistogramARB
public static void glGetnHistogramARB(int target, boolean reset, int format, int type, java.nio.ByteBuffer values)
Robust version ofGetHistogram
- Parameters:
target
- the histogram target. Must be:HISTOGRAM
reset
- ifTRUE
, 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 data
-
glGetnMinmaxARB
public static void glGetnMinmaxARB(int target, boolean reset, int format, int type, int bufSize, long values)
Robust version ofGetMinmax
- Parameters:
target
- the minmax target. Must be:MINMAX
reset
- IfTRUE
, 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 intovalues
values
- a buffer in which to place the returned data
-
glGetnMinmaxARB
public static void glGetnMinmaxARB(int target, boolean reset, int format, int type, java.nio.ByteBuffer values)
Robust version ofGetMinmax
- Parameters:
target
- the minmax target. Must be:MINMAX
reset
- IfTRUE
, 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 data
-
glGetnCompressedTexImageARB
public static void glGetnCompressedTexImageARB(int target, int level, int bufSize, long img)
Robust version ofGetCompressedTexImage
- Parameters:
target
- 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 intoimg
img
- a buffer in which to place the returned data
-
glGetnCompressedTexImageARB
public static void glGetnCompressedTexImageARB(int target, int level, java.nio.ByteBuffer img)
Robust version ofGetCompressedTexImage
- Parameters:
target
- 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 data
-
glGetnUniformfvARB
public static void glGetnUniformfvARB(int program, int location, java.nio.FloatBuffer params)
Robust version ofGetUniformfv
- Parameters:
program
- the program object to be queriedlocation
- the location of the uniform variable to be queriedparams
- a buffer in which to place the returned data
-
glGetnUniformfARB
public static float glGetnUniformfARB(int program, int location)
Robust version ofGetUniformfv
- Parameters:
program
- the program object to be queriedlocation
- the location of the uniform variable to be queried
-
glGetnUniformivARB
public static void glGetnUniformivARB(int program, int location, java.nio.IntBuffer params)
Robust version ofGetUniformiv
- Parameters:
program
- the program object to be queriedlocation
- the location of the uniform variable to be queriedparams
- a buffer in which to place the returned data
-
glGetnUniformiARB
public static int glGetnUniformiARB(int program, int location)
Robust version ofGetUniformiv
- Parameters:
program
- the program object to be queriedlocation
- the location of the uniform variable to be queried
-
glGetnUniformuivARB
public static void glGetnUniformuivARB(int program, int location, java.nio.IntBuffer params)
Robust version ofGetUniformuiv
- Parameters:
program
- the program object to be queriedlocation
- the location of the uniform variable to be queriedparams
- a buffer in which to place the returned data
-
glGetnUniformuiARB
public static int glGetnUniformuiARB(int program, int location)
Robust version ofGetUniformuiv
- Parameters:
program
- the program object to be queriedlocation
- the location of the uniform variable to be queried
-
glGetnUniformdvARB
public static void glGetnUniformdvARB(int program, int location, java.nio.DoubleBuffer params)
Robust version ofGetUniformdv
- Parameters:
program
- the program object to be queriedlocation
- the location of the uniform variable to be queriedparams
- a buffer in which to place the returned data
-
glGetnUniformdARB
public static double glGetnUniformdARB(int program, int location)
Robust version ofGetUniformdv
- Parameters:
program
- the program object to be queriedlocation
- the location of the uniform variable to be queried
-
glGetnMapdvARB
public static void glGetnMapdvARB(int target, int query, double[] data)
Array version of:GetnMapdvARB
-
glGetnMapfvARB
public static void glGetnMapfvARB(int target, int query, float[] data)
Array version of:GetnMapfvARB
-
glGetnMapivARB
public static void glGetnMapivARB(int target, int query, int[] data)
Array version of:GetnMapivARB
-
glGetnPixelMapfvARB
public static void glGetnPixelMapfvARB(int map, float[] data)
Array version of:GetnPixelMapfvARB
-
glGetnPixelMapuivARB
public static void glGetnPixelMapuivARB(int map, int[] data)
Array version of:GetnPixelMapuivARB
-
glGetnPixelMapusvARB
public static void glGetnPixelMapusvARB(int map, short[] data)
Array version of:GetnPixelMapusvARB
-
glGetnTexImageARB
public static void glGetnTexImageARB(int tex, int level, int format, int type, short[] img) public static void glGetnTexImageARB(int tex, int level, int format, int type, int[] img) public static void glGetnTexImageARB(int tex, int level, int format, int type, float[] img) public static void glGetnTexImageARB(int tex, int level, int format, int type, double[] img)
Array version of:GetnTexImageARB
-
glReadnPixelsARB
public static void glReadnPixelsARB(int x, int y, int width, int height, int format, int type, short[] data) public static void glReadnPixelsARB(int x, int y, int width, int height, int format, int type, int[] data) public static void glReadnPixelsARB(int x, int y, int width, int height, int format, int type, float[] data)
Array version of:ReadnPixelsARB
-
glGetnColorTableARB
public static void glGetnColorTableARB(int target, int format, int type, short[] table) public static void glGetnColorTableARB(int target, int format, int type, int[] table) public static void glGetnColorTableARB(int target, int format, int type, float[] table)
Array version of:GetnColorTableARB
-
glGetnUniformfvARB
public static void glGetnUniformfvARB(int program, int location, float[] params)
Array version of:GetnUniformfvARB
-
glGetnUniformivARB
public static void glGetnUniformivARB(int program, int location, int[] params)
Array version of:GetnUniformivARB
-
glGetnUniformuivARB
public static void glGetnUniformuivARB(int program, int location, int[] params)
Array version of:GetnUniformuivARB
-
glGetnUniformdvARB
public static void glGetnUniformdvARB(int program, int location, double[] params)
Array version of:GetnUniformdvARB
-
-