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

org.lwjgl.opengl.EXTTextureSwizzle Maven / Gradle / Ivy

/*
 * Copyright LWJGL. All rights reserved.
 * License terms: https://www.lwjgl.org/license
 * MACHINE GENERATED FILE, DO NOT EDIT
 */
package org.lwjgl.opengl;

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

Classic OpenGL texture formats conflate texture storage and interpretation, and assume that textures represent color. In modern applications, a * significant quantity of textures don't represent color, but rather data like shadow maps, normal maps, page tables, occlusion data, etc.. For the * latter class of data, calling the data "RGBA" is just a convenient mapping of what the data is onto the current model, but isn't an accurate reflection * of the reality of the data.

* *

The existing texture formats provide an almost orthogonal set of data types, sizes, and number of components, but the mappings of this storage into * what the shader or fixed-function pipeline fetches is very much non-orthogonal. Previous extensions have added some of the most demanded missing * formats, but the problem has not been solved once and for all.

* *

This extension provides a mechanism to swizzle the components of a texture before they are applied according to the texture environment in * fixed-function or as they are returned to the shader.

*/ public final class EXTTextureSwizzle { /** Accepted by the {@code pname} parameters of TexParameteri, TexParameterf, TexParameteriv, TexParameterfv, GetTexParameterfv, and GetTexParameteriv. */ public static final int GL_TEXTURE_SWIZZLE_R_EXT = 0x8E42, GL_TEXTURE_SWIZZLE_G_EXT = 0x8E43, GL_TEXTURE_SWIZZLE_B_EXT = 0x8E44, GL_TEXTURE_SWIZZLE_A_EXT = 0x8E45; /** Accepted by the {@code pname} parameters of TexParameteriv, TexParameterfv, GetTexParameterfv, and GetTexParameteriv. */ public static final int GL_TEXTURE_SWIZZLE_RGBA_EXT = 0x8E46; private EXTTextureSwizzle() {} }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy