All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.lwjgl.opengles.EXTTextureCompressionASTCDecodeMode Maven / Gradle / Ivy

Go to download

A royalty-free, cross-platform API for full-function 2D and 3D graphics on embedded systems - including consoles, phones, appliances and vehicles.

There is a newer version: 3.3.4
Show newest version
/*
 * Copyright LWJGL. All rights reserved.
 * License terms: https://www.lwjgl.org/license
 * MACHINE GENERATED FILE, DO NOT EDIT
 */
package org.lwjgl.opengles;

/**
 * Native bindings to the EXT_texture_compression_astc_decode_mode extension.
 * 
 * 

Adaptive Scalable Texture Compression (ASTC) is a texture compression technology that is exposed by existing extensions and specifications.

* *

The existing specifications require that low dynamic range (LDR) textures are decompressed to FP16 values per component. In many cases, decompressing * LDR textures to a lower precision intermediate result gives acceptable image quality. Source material for LDR textures is typically authored as 8-bit * UNORM values, so decoding to FP16 values adds little value. On the other hand, reducing precision of the decoded result reduces the size of the * decompressed data, potentially improving texture cache performance and saving power.

* *

The goal of this extension is to enable this efficiency gain on existing ASTC texture data. This is achieved by giving the application the ability to * select the decoding precision.

* *

Two decoding options are provided by {@code GL_EXT_texture_compression_astc_decode_mode}:

* *
    *
  • Decode to FP16: This is the default, and matches the required behavior in existing APIs.
  • *
  • Decode to UNORM8: This is provided as an option in LDR mode.
  • *
* *

If {@code GL_EXT_texture_compression_astc_decode_mode_rgb9e5} is supported, then a third decoding option is provided:

* *
    *
  • Decode to {@link GLES30#GL_RGB9_E5 RGB9_E5}: This is provided as an option in both LDR and HDR mode. In this mode, negative values cannot be represented and are clamped to * zero. The alpha component is ignored, and the results are as if alpha was 1.0.
  • *
* *

Requires {@link GLES30 GLES 3.0}.

*/ public final class EXTTextureCompressionASTCDecodeMode { /** Accepted by the {@code pname} parameter of TexParameter and GetTexParameter*. */ public static final int GL_TEXTURE_ASTC_DECODE_PRECISION_EXT = 0x8F69; private EXTTextureCompressionASTCDecodeMode() {} }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy