Class ARBRobustness
- java.lang.Object
-
- org.lwjgl.opengl.ARBRobustness
-
public class ARBRobustness extends java.lang.ObjectNative 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_objectextension 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 intGL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARBReturned by GetIntegerv whenpnameis CONTEXT_FLAGS.static intGL_GUILTY_CONTEXT_RESET_ARB
GL_INNOCENT_CONTEXT_RESET_ARBReturned by GetGraphicsResetStatusARB.static intGL_LOSE_CONTEXT_ON_RESET_ARB
GL_NO_RESET_NOTIFICATION_ARBReturned by GetIntegerv and related simple queries whenvalueis RESET_NOTIFICATION_STRATEGY_ARB.static intGL_RESET_NOTIFICATION_STRATEGY_ARBAccepted by thevalueparameter of GetBooleanv, GetIntegerv, GetInteger64v, GetFloatv, and GetDoublev.static intGL_UNKNOWN_CONTEXT_RESET_ARBReturned by GetGraphicsResetStatusARB.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method and Description static intglGetGraphicsResetStatusARB()The symbolic constant returned indicates if the GL context has been in a reset state at any point since the last call toGetGraphicsResetStatusARB.static voidglGetnColorTableARB(int target, int format, int type, java.nio.ByteBuffer table)Robust version ofGetColorTablestatic voidglGetnColorTableARB(int target, int format, int type, float[] table)Array version of:GetnColorTableARBstatic voidglGetnColorTableARB(int target, int format, int type, java.nio.FloatBuffer table)Robust version ofGetColorTablestatic voidglGetnColorTableARB(int target, int format, int type, int[] table)Array version of:GetnColorTableARBstatic voidglGetnColorTableARB(int target, int format, int type, java.nio.IntBuffer table)Robust version ofGetColorTablestatic voidglGetnColorTableARB(int target, int format, int type, int bufSize, long table)Robust version ofGetColorTablestatic voidglGetnColorTableARB(int target, int format, int type, short[] table)Array version of:GetnColorTableARBstatic voidglGetnColorTableARB(int target, int format, int type, java.nio.ShortBuffer table)Robust version ofGetColorTablestatic voidglGetnCompressedTexImageARB(int target, int level, java.nio.ByteBuffer img)Robust version ofGetCompressedTexImagestatic voidglGetnCompressedTexImageARB(int target, int level, int bufSize, long img)Robust version ofGetCompressedTexImagestatic voidglGetnConvolutionFilterARB(int target, int format, int type, java.nio.ByteBuffer image)Robust version ofGetConvolutionFilterstatic voidglGetnConvolutionFilterARB(int target, int format, int type, int bufSize, long image)Robust version ofGetConvolutionFilterstatic voidglGetnHistogramARB(int target, boolean reset, int format, int type, java.nio.ByteBuffer values)Robust version ofGetHistogramstatic voidglGetnHistogramARB(int target, boolean reset, int format, int type, int bufSize, long values)Robust version ofGetHistogramstatic doubleglGetnMapdARB(int target, int query)Robust version ofGetMapdvstatic voidglGetnMapdvARB(int target, int query, double[] data)Array version of:GetnMapdvARBstatic voidglGetnMapdvARB(int target, int query, java.nio.DoubleBuffer data)Robust version ofGetMapdvstatic floatglGetnMapfARB(int target, int query)Robust version ofGetMapfvstatic voidglGetnMapfvARB(int target, int query, float[] data)Array version of:GetnMapfvARBstatic voidglGetnMapfvARB(int target, int query, java.nio.FloatBuffer data)Robust version ofGetMapfvstatic intglGetnMapiARB(int target, int query)Robust version ofGetMapivstatic voidglGetnMapivARB(int target, int query, int[] data)Array version of:GetnMapivARBstatic voidglGetnMapivARB(int target, int query, java.nio.IntBuffer data)Robust version ofGetMapivstatic voidglGetnMinmaxARB(int target, boolean reset, int format, int type, java.nio.ByteBuffer values)Robust version ofGetMinmaxstatic voidglGetnMinmaxARB(int target, boolean reset, int format, int type, int bufSize, long values)Robust version ofGetMinmaxstatic voidglGetnPixelMapfvARB(int map, float[] data)Array version of:GetnPixelMapfvARBstatic voidglGetnPixelMapfvARB(int map, java.nio.FloatBuffer data)Robust version ofGetPixelMapfvstatic voidglGetnPixelMapuivARB(int map, int[] data)Array version of:GetnPixelMapuivARBstatic voidglGetnPixelMapuivARB(int map, java.nio.IntBuffer data)Robust version ofGetPixelMapuivstatic voidglGetnPixelMapusvARB(int map, short[] data)Array version of:GetnPixelMapusvARBstatic voidglGetnPixelMapusvARB(int map, java.nio.ShortBuffer data)Robust version ofGetPixelMapusvstatic voidglGetnPolygonStippleARB(java.nio.ByteBuffer pattern)Robust version ofGetPolygonStipplestatic voidglGetnPolygonStippleARB(int bufSize, long pattern)Robust version ofGetPolygonStipplestatic voidglGetnSeparableFilterARB(int target, int format, int type, java.nio.ByteBuffer row, java.nio.ByteBuffer column, java.nio.ByteBuffer span)Robust version ofGetSeparableFilterstatic voidglGetnSeparableFilterARB(int target, int format, int type, int rowBufSize, long row, int columnBufSize, long column, java.nio.ByteBuffer span)Robust version ofGetSeparableFilterstatic voidglGetnTexImageARB(int tex, int level, int format, int type, java.nio.ByteBuffer img)Robust version ofGetTexImagestatic voidglGetnTexImageARB(int tex, int level, int format, int type, double[] img)Array version of:GetnTexImageARBstatic voidglGetnTexImageARB(int tex, int level, int format, int type, java.nio.DoubleBuffer img)Robust version ofGetTexImagestatic voidglGetnTexImageARB(int tex, int level, int format, int type, float[] img)Array version of:GetnTexImageARBstatic voidglGetnTexImageARB(int tex, int level, int format, int type, java.nio.FloatBuffer img)Robust version ofGetTexImagestatic voidglGetnTexImageARB(int tex, int level, int format, int type, int[] img)Array version of:GetnTexImageARBstatic voidglGetnTexImageARB(int tex, int level, int format, int type, java.nio.IntBuffer img)Robust version ofGetTexImagestatic voidglGetnTexImageARB(int tex, int level, int format, int type, int bufSize, long img)Robust version ofGetTexImagestatic voidglGetnTexImageARB(int tex, int level, int format, int type, short[] img)Array version of:GetnTexImageARBstatic voidglGetnTexImageARB(int tex, int level, int format, int type, java.nio.ShortBuffer img)Robust version ofGetTexImagestatic doubleglGetnUniformdARB(int program, int location)Robust version ofGetUniformdvstatic voidglGetnUniformdvARB(int program, int location, double[] params)Array version of:GetnUniformdvARBstatic voidglGetnUniformdvARB(int program, int location, java.nio.DoubleBuffer params)Robust version ofGetUniformdvstatic floatglGetnUniformfARB(int program, int location)Robust version ofGetUniformfvstatic voidglGetnUniformfvARB(int program, int location, float[] params)Array version of:GetnUniformfvARBstatic voidglGetnUniformfvARB(int program, int location, java.nio.FloatBuffer params)Robust version ofGetUniformfvstatic intglGetnUniformiARB(int program, int location)Robust version ofGetUniformivstatic voidglGetnUniformivARB(int program, int location, int[] params)Array version of:GetnUniformivARBstatic voidglGetnUniformivARB(int program, int location, java.nio.IntBuffer params)Robust version ofGetUniformivstatic intglGetnUniformuiARB(int program, int location)Robust version ofGetUniformuivstatic voidglGetnUniformuivARB(int program, int location, int[] params)Array version of:GetnUniformuivARBstatic voidglGetnUniformuivARB(int program, int location, java.nio.IntBuffer params)Robust version ofGetUniformuivstatic voidglReadnPixelsARB(int x, int y, int width, int height, int format, int type, java.nio.ByteBuffer data)Robust version ofReadPixelsstatic voidglReadnPixelsARB(int x, int y, int width, int height, int format, int type, float[] data)Array version of:ReadnPixelsARBstatic voidglReadnPixelsARB(int x, int y, int width, int height, int format, int type, java.nio.FloatBuffer data)Robust version ofReadPixelsstatic voidglReadnPixelsARB(int x, int y, int width, int height, int format, int type, int[] data)Array version of:ReadnPixelsARBstatic voidglReadnPixelsARB(int x, int y, int width, int height, int format, int type, java.nio.IntBuffer data)Robust version ofReadPixelsstatic voidglReadnPixelsARB(int x, int y, int width, int height, int format, int type, int bufSize, long data)Robust version ofReadPixelsstatic voidglReadnPixelsARB(int x, int y, int width, int height, int format, int type, short[] data)Array version of:ReadnPixelsARBstatic voidglReadnPixelsARB(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 thevalueparameter 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 whenvalueis RESET_NOTIFICATION_STRATEGY_ARB.
-
GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB
Returned by GetIntegerv whenpnameis 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_ERRORindicates that the GL context has not been in a reset state since the last call.GUILTY_CONTEXT_RESET_ARBindicates that a reset has been detected that is attributable to the current GL context.INNOCENT_CONTEXT_RESET_ARBindicates a reset has been detected that is not attributable to the current GL context.UNKNOWN_CONTEXT_RESET_ARBindicates 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
GetIntegervwith 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, andGetGraphicsResetStatusARBwill 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:ORDERCOEFFDOMAINdata- 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:ORDERCOEFFDOMAIN
-
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_IPIXEL_MAP_S_TO_SPIXEL_MAP_I_TO_RPIXEL_MAP_I_TO_GPIXEL_MAP_I_TO_BPIXEL_MAP_I_TO_APIXEL_MAP_R_TO_RPIXEL_MAP_G_TO_GPIXEL_MAP_B_TO_BPIXEL_MAP_A_TO_Adata- 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 intopatternpattern- 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 intoimgimg- 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 intodatadata- 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_TABLEPOST_CONVOLUTION_COLOR_TABLEPOST_COLOR_MATRIX_COLOR_TABLEformat- the color data format. One of:REDGREENBLUEALPHARGBRGBABGRBGRALUMINANCELUMINANCE_ALPHAtype- the color data type. One of:bufSize- the maximum number of bytes to write intotabletable- 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_TABLEPOST_CONVOLUTION_COLOR_TABLEPOST_COLOR_MATRIX_COLOR_TABLEformat- the color data format. One of:REDGREENBLUEALPHARGBRGBABGRBGRALUMINANCELUMINANCE_ALPHAtype- 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_1DCONVOLUTION_2Dformat- the filter data format. One of:REDGREENBLUEALPHARGBRGBABGRBGRALUMINANCELUMINANCE_ALPHAtype- the filter data type. One of:bufSize- the maximum number of bytes to write intoimageimage- 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_1DCONVOLUTION_2Dformat- the filter data format. One of:REDGREENBLUEALPHARGBRGBABGRBGRALUMINANCELUMINANCE_ALPHAtype- 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_2Dformat- the filter data format. One of:REDGREENBLUEALPHARGBRGBABGRBGRALUMINANCELUMINANCE_ALPHAtype- the filter data type. One of:rowBufSize- the maximum number of bytes to write intorowrow- a buffer in which to return the filter rowcolumnBufSize- the maximum number of bytes to write intocolumncolumn- 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_2Dformat- the filter data format. One of:REDGREENBLUEALPHARGBRGBABGRBGRALUMINANCELUMINANCE_ALPHAtype- 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:HISTOGRAMreset- 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:REDGREENBLUEALPHARGBRGBABGRBGRALUMINANCELUMINANCE_ALPHAtype- the pixel data types. One of:bufSize- the maximum number of bytes to write intovaluesvalues- 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:HISTOGRAMreset- 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:REDGREENBLUEALPHARGBRGBABGRBGRALUMINANCELUMINANCE_ALPHAtype- 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:MINMAXreset- 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:REDGREENBLUEALPHARGBRGBABGRBGRALUMINANCELUMINANCE_ALPHAtype- the pixel data type. One of:bufSize- the maximum number of bytes to write intovaluesvalues- 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:MINMAXreset- 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:REDGREENBLUEALPHARGBRGBABGRBGRALUMINANCELUMINANCE_ALPHAtype- 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 intoimgimg- 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
-
-