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

org.lwjgl.opengles.OESRequiredInternalformat 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 OES_required_internalformat extension.
 * 
 * 

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 {@code 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 {@code internalformat} with a different base internal format than the source format specified by {@code format}. The * implementation is not required to exactly match the precision specified by {@code internalformat} when choosing an internal storage precision, but it * is required to match the base internal format of {@code internalformat}.

* *

In addition, ES 1.1 does not allow an implementation to fail a request to glTexImage2D for any of the legal {@code format} and {@code type}, even if * the implementation does not natively support data stored in that external {@code format} and {@code 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:

* *
    *
  1. This extension introduces the ability for an application to specify the desired "sized" internal formats for texture image allocation.
  2. *
  3. This extension guarantees to maintain at least the specified precision of all available sized internal formats.
  4. *
* *

An implementation that exports this extension is committing to support all of the legal values for {@code internalformat}, subject to the extension * dependencies described herein. That is to say, the implementation is guaranteeing that choosing an {@code 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.

*/ public final class OESRequiredInternalformat { /** Accepted by the {@code internalformat} argument of TexImage2D, TexImage3DOES, and CopyTexImage2D. */ public static final int GL_ALPHA8_OES = 0x803C, GL_LUMINANCE8_OES = 0x8040, GL_LUMINANCE8_ALPHA8_OES = 0x8045, GL_LUMINANCE4_ALPHA4_OES = 0x8043, GL_RGB565_OES = 0x8D62, GL_RGB8_OES = 0x8051, GL_RGBA4_OES = 0x8056, GL_RGB5_A1_OES = 0x8057, GL_RGBA8_OES = 0x8058, GL_DEPTH_COMPONENT16_OES = 0x81A5, GL_DEPTH_COMPONENT24_OES = 0x81A6, GL_DEPTH_COMPONENT32_OES = 0x81A7, GL_DEPTH24_STENCIL8_OES = 0x88F0, GL_RGB10_EXT = 0x8052, GL_RGB10_A2_EXT = 0x8059; private OESRequiredInternalformat() {} }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy