Class OESRequiredInternalformat
The ES 1.1 API allows an implementation to store texture data internally with arbitrary precision, regardless of the format and type of the data supplied by the application. Similarly, ES allows an implementation to choose an arbitrary precision for the internal storage of image data allocated by glRenderbufferStorageOES.
While this allows flexibility for implementations, it does mean that an application does not have a reliable means to request the implementation maintain a specific precision or to find out what precision the implementation will maintain for a given texture or renderbuffer image.
For reference, "Desktop" OpenGL uses the internalformat
argument to glTexImage*, glCopyTexImage* and glRenderbufferStorageEXT as a hint,
defining the particular base format and precision that the application wants the implementation to maintain when storing the image data. Further, the
application can choose an internalformat
with a different base internal format than the source format specified by format
. The
implementation is not required to exactly match the precision specified by internalformat
when choosing an internal storage precision, but it
is required to match the base internal format of internalformat
.
In addition, ES 1.1 does not allow an implementation to fail a request to glTexImage2D for any of the legal format
and type
, even if
the implementation does not natively support data stored in that external format
and type
. However, there are no additional requirements
placed on the implementation. The ES implementation is free to store the texture data with lower precision than originally specified, for instance.
Further, since ES removes the ability to query the texture object to find out what internal format it chose, there is no way for the application to
find out that this has happened.
This extension addresses the situation in two ways:
- This extension introduces the ability for an application to specify the desired "sized" internal formats for texture image allocation.
- This extension guarantees to maintain at least the specified precision of all available sized internal formats.
An implementation that exports this extension is committing to support all of the legal values for internalformat
, subject to the extension
dependencies described herein. That is to say, the implementation is guaranteeing that choosing an internalformat
argument with a value from
these tables will not cause an image allocation request to fail. Furthermore, it is guaranteeing that for any sized internal format, the renderbuffer
or texture data will be stored with at least the precision prescribed by the sized internal format.
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
Accepted by theinternalformat
argument of TexImage2D, TexImage3DOES, and CopyTexImage2D.static final int
Accepted by theinternalformat
argument of TexImage2D, TexImage3DOES, and CopyTexImage2D.static final int
Accepted by theinternalformat
argument of TexImage2D, TexImage3DOES, and CopyTexImage2D.static final int
Accepted by theinternalformat
argument of TexImage2D, TexImage3DOES, and CopyTexImage2D.static final int
Accepted by theinternalformat
argument of TexImage2D, TexImage3DOES, and CopyTexImage2D.static final int
Accepted by theinternalformat
argument of TexImage2D, TexImage3DOES, and CopyTexImage2D.static final int
Accepted by theinternalformat
argument of TexImage2D, TexImage3DOES, and CopyTexImage2D.static final int
Accepted by theinternalformat
argument of TexImage2D, TexImage3DOES, and CopyTexImage2D.static final int
Accepted by theinternalformat
argument of TexImage2D, TexImage3DOES, and CopyTexImage2D.static final int
Accepted by theinternalformat
argument of TexImage2D, TexImage3DOES, and CopyTexImage2D.static final int
Accepted by theinternalformat
argument of TexImage2D, TexImage3DOES, and CopyTexImage2D.static final int
Accepted by theinternalformat
argument of TexImage2D, TexImage3DOES, and CopyTexImage2D.static final int
Accepted by theinternalformat
argument of TexImage2D, TexImage3DOES, and CopyTexImage2D.static final int
Accepted by theinternalformat
argument of TexImage2D, TexImage3DOES, and CopyTexImage2D.static final int
Accepted by theinternalformat
argument of TexImage2D, TexImage3DOES, and CopyTexImage2D. -
Method Summary
-
Field Details
-
GL_ALPHA8_OES
public static final int GL_ALPHA8_OESAccepted by theinternalformat
argument of TexImage2D, TexImage3DOES, and CopyTexImage2D.- See Also:
-
GL_LUMINANCE8_OES
public static final int GL_LUMINANCE8_OESAccepted by theinternalformat
argument of TexImage2D, TexImage3DOES, and CopyTexImage2D.- See Also:
-
GL_LUMINANCE8_ALPHA8_OES
public static final int GL_LUMINANCE8_ALPHA8_OESAccepted by theinternalformat
argument of TexImage2D, TexImage3DOES, and CopyTexImage2D.- See Also:
-
GL_LUMINANCE4_ALPHA4_OES
public static final int GL_LUMINANCE4_ALPHA4_OESAccepted by theinternalformat
argument of TexImage2D, TexImage3DOES, and CopyTexImage2D.- See Also:
-
GL_RGB565_OES
public static final int GL_RGB565_OESAccepted by theinternalformat
argument of TexImage2D, TexImage3DOES, and CopyTexImage2D.- See Also:
-
GL_RGB8_OES
public static final int GL_RGB8_OESAccepted by theinternalformat
argument of TexImage2D, TexImage3DOES, and CopyTexImage2D.- See Also:
-
GL_RGBA4_OES
public static final int GL_RGBA4_OESAccepted by theinternalformat
argument of TexImage2D, TexImage3DOES, and CopyTexImage2D.- See Also:
-
GL_RGB5_A1_OES
public static final int GL_RGB5_A1_OESAccepted by theinternalformat
argument of TexImage2D, TexImage3DOES, and CopyTexImage2D.- See Also:
-
GL_RGBA8_OES
public static final int GL_RGBA8_OESAccepted by theinternalformat
argument of TexImage2D, TexImage3DOES, and CopyTexImage2D.- See Also:
-
GL_DEPTH_COMPONENT16_OES
public static final int GL_DEPTH_COMPONENT16_OESAccepted by theinternalformat
argument of TexImage2D, TexImage3DOES, and CopyTexImage2D.- See Also:
-
GL_DEPTH_COMPONENT24_OES
public static final int GL_DEPTH_COMPONENT24_OESAccepted by theinternalformat
argument of TexImage2D, TexImage3DOES, and CopyTexImage2D.- See Also:
-
GL_DEPTH_COMPONENT32_OES
public static final int GL_DEPTH_COMPONENT32_OESAccepted by theinternalformat
argument of TexImage2D, TexImage3DOES, and CopyTexImage2D.- See Also:
-
GL_DEPTH24_STENCIL8_OES
public static final int GL_DEPTH24_STENCIL8_OESAccepted by theinternalformat
argument of TexImage2D, TexImage3DOES, and CopyTexImage2D.- See Also:
-
GL_RGB10_EXT
public static final int GL_RGB10_EXTAccepted by theinternalformat
argument of TexImage2D, TexImage3DOES, and CopyTexImage2D.- See Also:
-
GL_RGB10_A2_EXT
public static final int GL_RGB10_A2_EXTAccepted by theinternalformat
argument of TexImage2D, TexImage3DOES, and CopyTexImage2D.- See Also:
-