java.lang.Object | |
↳ | android.opengl.ETC1 |
Methods for encoding and decoding ETC1 textures.
The standard for the ETC1 texture format can be found at http://www.khronos.org/registry/gles/extensions/OES/OES_compressed_ETC1_RGB8_texture.txt
The PKM file format is of a 16-byte header that describes the image bounds followed by the encoded ETC1 texture data.
Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
int | DECODED_BLOCK_SIZE | Size in bytes of a decoded block. | |||||||||
int | ENCODED_BLOCK_SIZE | Size in bytes of an encoded block. | |||||||||
int | ETC1_RGB8_OES | Accepted by the internalformat parameter of glCompressedTexImage2D. | |||||||||
int | ETC_PKM_HEADER_SIZE | Size of a PKM file header, in bytes. |
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Decode a block of pixels.
| |||||||||||
Decode an entire image.
| |||||||||||
Encode a block of pixels.
| |||||||||||
Encode an entire image.
| |||||||||||
Format a PKM header
| |||||||||||
Return the size of the encoded image data (does not include size of PKM header).
| |||||||||||
Read the image height from a PKM header
| |||||||||||
Read the image width from a PKM header
| |||||||||||
Check if a PKM header is correctly formatted.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
|
Size in bytes of a decoded block.
Size in bytes of an encoded block.
Accepted by the internalformat parameter of glCompressedTexImage2D.
Size of a PKM file header, in bytes.
Decode a block of pixels.
in | a native order direct buffer of size ENCODED_BLOCK_SIZE that contains the ETC1 compressed version of the data. |
---|---|
out | a native order direct buffer of size DECODED_BLOCK_SIZE that will receive the decoded data. The data represents a 4 x 4 square of 3-byte pixels in form R, G, B. Byte (3 * (x + 4 * y) is the R value of pixel (x, y). |
Decode an entire image.
in | native order direct buffer of the encoded data. |
---|---|
out | native order direct buffer of the image data. Will be written such that pixel (x,y) is at pIn + pixelSize * x + stride * y. Must be large enough to store entire image. |
pixelSize | must be 2 or 3. 2 is an GL_UNSIGNED_SHORT_5_6_5 image, 3 is a GL_BYTE RGB image. |
Encode a block of pixels.
in | a native order direct buffer of size DECODED_BLOCK_SIZE that represent a 4 x 4 square of 3-byte pixels in form R, G, B. Byte (3 * (x + 4 * y) is the R value of pixel (x, y). |
---|---|
validPixelMask | is a 16-bit mask where bit (1 << (x + y * 4)) indicates whether the corresponding (x,y) pixel is valid. Invalid pixel color values are ignored when compressing. |
out | a native order direct buffer of size ENCODED_BLOCK_SIZE that receives the ETC1 compressed version of the data. |
Encode an entire image.
in | a native order direct buffer of the image data. Formatted such that pixel (x,y) is at pIn + pixelSize * x + stride * y; |
---|---|
pixelSize | must be 2 or 3. 2 is an GL_UNSIGNED_SHORT_5_6_5 image, 3 is a GL_BYTE RGB image. |
out | a native order direct buffer of the encoded data. Must be large enough to store entire encoded image. |
Format a PKM header
header | native order direct buffer of the header. |
---|---|
width | the width of the image in pixels. |
height | the height of the image in pixels. |
Return the size of the encoded image data (does not include size of PKM header).
Read the image height from a PKM header
header | native order direct buffer of the header. |
---|
Read the image width from a PKM header
header | native order direct buffer of the header. |
---|
Check if a PKM header is correctly formatted.
header | native order direct buffer of the header. |
---|