Class ARBInternalformatQuery2
- java.lang.Object
-
- org.lwjgl.opengl.ARBInternalformatQuery2
-
public class ARBInternalformatQuery2 extends java.lang.Object
Native bindings to the ARB_internalformat_query2 extension.This extension extends the
GetInternalformativ
query that was added in theARB_internalformat_query
extension to provide applications with more granular per-format capability information.This extension allows the remainder of the texture-style targets to be specified along with any possible internal format. We add queries for additional properties supported for an internal format in addition to the multisample-related information that was added in ARB_internalformat_query.
The goals of this extension are to:
- provide a mechanism for implementations to declare support *above* the minimum required by the specification
- provide API to allow universally constant information to be queried
- provide a user-friendly way of finding out about version- or implementation-specific limitations.
While much of this information can be determined for a single GL version by careful examination of the specification, support for many of these properties has been gradually introduced over a number of API revisions. This can observed when considering the range in functionality between the various versions of GL 2, 3, and 4, as well as GL ES 2 and 3.
In the case of an application which wishes to be scalable and able to run on a variety of possible GL or GL ES versions without being specifically tailored for each version, it must either have knowledge of the specifications built up into either the code or tables, or it must do a number of tests on startup to determine which capabilities are present.
In OpenGL, other than the course-grained extension mechanism, many limitations of, or limited support for, an internalformat can only be signaled by failing an operation or by operating at reduced performance. Thus, such tests often involve attempts to create resources, using them in specific ways and benchmarking the operations to find out if it is supported in the desired form, and at a required performance level. The extension provides a way for these properties and caveats to be directly queried from the implementation.
This extension is NOT intended to allow implementations to only support a subset of features that are required by a specific GL version, nor is it intended to replace the proper use of extension checks for optional functionality.
Requires
OpenGL 2.0
andARB_internalformat_query
. Promoted to core inOpenGL 4.3
.
-
-
Field Summary
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method and Description static long
glGetInternalformati64(int target, int internalformat, int pname)
Retrieves information about implementation-dependent support for internal formats.static void
glGetInternalformati64v(int target, int internalformat, int pname, long[] params)
Array version of:GetInternalformati64v
static void
glGetInternalformati64v(int target, int internalformat, int pname, java.nio.LongBuffer params)
Retrieves information about implementation-dependent support for internal formats.
-
-
-
Field Detail
-
GL_TEXTURE_1D, GL_TEXTURE_1D_ARRAY, GL_TEXTURE_2D, GL_TEXTURE_2D_ARRAY, GL_TEXTURE_3D, GL_TEXTURE_CUBE_MAP, GL_TEXTURE_CUBE_MAP_ARRAY, GL_TEXTURE_RECTANGLE, GL_TEXTURE_BUFFER, GL_RENDERBUFFER, GL_TEXTURE_2D_MULTISAMPLE, GL_TEXTURE_2D_MULTISAMPLE_ARRAY
Accepted by thetarget
parameter of GetInternalformativ and GetInternalformati64v.
-
GL_SAMPLES, GL_NUM_SAMPLE_COUNTS, GL_INTERNALFORMAT_SUPPORTED, GL_INTERNALFORMAT_PREFERRED, GL_INTERNALFORMAT_RED_SIZE, GL_INTERNALFORMAT_GREEN_SIZE, GL_INTERNALFORMAT_BLUE_SIZE, GL_INTERNALFORMAT_ALPHA_SIZE, GL_INTERNALFORMAT_DEPTH_SIZE, GL_INTERNALFORMAT_STENCIL_SIZE, GL_INTERNALFORMAT_SHARED_SIZE, GL_INTERNALFORMAT_RED_TYPE, GL_INTERNALFORMAT_GREEN_TYPE, GL_INTERNALFORMAT_BLUE_TYPE, GL_INTERNALFORMAT_ALPHA_TYPE, GL_INTERNALFORMAT_DEPTH_TYPE, GL_INTERNALFORMAT_STENCIL_TYPE, GL_MAX_WIDTH, GL_MAX_HEIGHT, GL_MAX_DEPTH, GL_MAX_LAYERS, GL_MAX_COMBINED_DIMENSIONS, GL_COLOR_COMPONENTS, GL_DEPTH_COMPONENTS, GL_STENCIL_COMPONENTS, GL_COLOR_RENDERABLE, GL_DEPTH_RENDERABLE, GL_STENCIL_RENDERABLE, GL_FRAMEBUFFER_RENDERABLE, GL_FRAMEBUFFER_RENDERABLE_LAYERED, GL_FRAMEBUFFER_BLEND, GL_READ_PIXELS, GL_READ_PIXELS_FORMAT, GL_READ_PIXELS_TYPE, GL_TEXTURE_IMAGE_FORMAT, GL_TEXTURE_IMAGE_TYPE, GL_GET_TEXTURE_IMAGE_FORMAT, GL_GET_TEXTURE_IMAGE_TYPE, GL_MIPMAP, GL_MANUAL_GENERATE_MIPMAP, GL_AUTO_GENERATE_MIPMAP, GL_COLOR_ENCODING, GL_SRGB_READ, GL_SRGB_WRITE, GL_SRGB_DECODE_ARB, GL_FILTER, GL_VERTEX_TEXTURE, GL_TESS_CONTROL_TEXTURE, GL_TESS_EVALUATION_TEXTURE, GL_GEOMETRY_TEXTURE, GL_FRAGMENT_TEXTURE, GL_COMPUTE_TEXTURE, GL_TEXTURE_SHADOW, GL_TEXTURE_GATHER, GL_TEXTURE_GATHER_SHADOW, GL_SHADER_IMAGE_LOAD, GL_SHADER_IMAGE_STORE, GL_SHADER_IMAGE_ATOMIC, GL_IMAGE_TEXEL_SIZE, GL_IMAGE_COMPATIBILITY_CLASS, GL_IMAGE_PIXEL_FORMAT, GL_IMAGE_PIXEL_TYPE, GL_IMAGE_FORMAT_COMPATIBILITY_TYPE, GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST, GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST, GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE, GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE, GL_TEXTURE_COMPRESSED, GL_TEXTURE_COMPRESSED_BLOCK_WIDTH, GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT, GL_TEXTURE_COMPRESSED_BLOCK_SIZE, GL_CLEAR_BUFFER, GL_TEXTURE_VIEW, GL_VIEW_COMPATIBILITY_CLASS
Accepted by thepname
parameter of GetInternalformativ and GetInternalformati64v.
-
GL_FULL_SUPPORT, GL_CAVEAT_SUPPORT, GL_IMAGE_CLASS_4_X_32, GL_IMAGE_CLASS_2_X_32, GL_IMAGE_CLASS_1_X_32, GL_IMAGE_CLASS_4_X_16, GL_IMAGE_CLASS_2_X_16, GL_IMAGE_CLASS_1_X_16, GL_IMAGE_CLASS_4_X_8, GL_IMAGE_CLASS_2_X_8, GL_IMAGE_CLASS_1_X_8, GL_IMAGE_CLASS_11_11_10, GL_IMAGE_CLASS_10_10_10_2, GL_VIEW_CLASS_128_BITS, GL_VIEW_CLASS_96_BITS, GL_VIEW_CLASS_64_BITS, GL_VIEW_CLASS_48_BITS, GL_VIEW_CLASS_32_BITS, GL_VIEW_CLASS_24_BITS, GL_VIEW_CLASS_16_BITS, GL_VIEW_CLASS_8_BITS, GL_VIEW_CLASS_S3TC_DXT1_RGB, GL_VIEW_CLASS_S3TC_DXT1_RGBA, GL_VIEW_CLASS_S3TC_DXT3_RGBA, GL_VIEW_CLASS_S3TC_DXT5_RGBA, GL_VIEW_CLASS_RGTC1_RED, GL_VIEW_CLASS_RGTC2_RG, GL_VIEW_CLASS_BPTC_UNORM, GL_VIEW_CLASS_BPTC_FLOAT
Returned as possible responses for variouspname
queries to GetInternalformativ and GetInternalformati64v.
-
-
Method Detail
-
glGetInternalformati64v
public static void glGetInternalformati64v(int target, int internalformat, int pname, java.nio.LongBuffer params)
Retrieves information about implementation-dependent support for internal formats.- Parameters:
target
- the usage of the internal format. One of:TEXTURE_1D
TEXTURE_2D
TEXTURE_1D_ARRAY
TEXTURE_RECTANGLE
TEXTURE_CUBE_MAP
TEXTURE_3D
TEXTURE_2D_ARRAY
TEXTURE_CUBE_MAP_ARRAY
RENDERBUFFER
TEXTURE_BUFFER
TEXTURE_2D_MULTISAMPLE
TEXTURE_2D_MULTISAMPLE_ARRAY
internalformat
- the internal format about which to retrieve informationpname
- the type of information to queryparams
- a variable into which to write the retrieved information
-
glGetInternalformati64
public static long glGetInternalformati64(int target, int internalformat, int pname)
Retrieves information about implementation-dependent support for internal formats.- Parameters:
target
- the usage of the internal format. One of:TEXTURE_1D
TEXTURE_2D
TEXTURE_1D_ARRAY
TEXTURE_RECTANGLE
TEXTURE_CUBE_MAP
TEXTURE_3D
TEXTURE_2D_ARRAY
TEXTURE_CUBE_MAP_ARRAY
RENDERBUFFER
TEXTURE_BUFFER
TEXTURE_2D_MULTISAMPLE
TEXTURE_2D_MULTISAMPLE_ARRAY
internalformat
- the internal format about which to retrieve informationpname
- the type of information to query
-
glGetInternalformati64v
public static void glGetInternalformati64v(int target, int internalformat, int pname, long[] params)
Array version of:GetInternalformati64v
-
-