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

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

There is a newer version: 3.3.0
Show newest version
/*
 * 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 ARB_texture_rectangle extension.
 * 
 * 

OpenGL texturing is limited to images with power-of-two dimensions and an optional 1-texel border. The ARB_texture_rectangle extension adds a new * texture target that supports 2D textures without requiring power-of-two dimensions.

* *

Non-power-of-two sized (NPOTS) textures are useful for storing video images that do not have power-of-two sized (POTS). Re-sampling artifacts are * avoided and less texture memory may be required by using non-power-of-two sized textures. Non-power-of-two sized textures are also useful for shadow * maps and window-space texturing.

* *

However, non-power-of-two sized textures have limitations that do not apply to power-of-two sized textures. NPOTS textures may not use mipmap filtering; * POTS textures support both mipmapped and non-mipmapped filtering. NPOTS textures support only the {@link GL11#GL_CLAMP CLAMP}, {@link GL12#GL_CLAMP_TO_EDGE CLAMP_TO_EDGE}, and * {@link GL13#GL_CLAMP_TO_BORDER CLAMP_TO_BORDER} wrap modes; POTS textures support {@link GL12#GL_CLAMP_TO_EDGE CLAMP_TO_EDGE}, {@link GL11#GL_REPEAT REPEAT}, {@link GL11#GL_CLAMP CLAMP}, {@link GL14#GL_MIRRORED_REPEAT MIRRORED_REPEAT}, and {@link GL13#GL_CLAMP_TO_BORDER CLAMP_TO_BORDER} * (and GL_MIRROR_CLAMP_ATI and GL_MIRROR_CLAMP_TO_EDGE_ATI if ATI_texture_mirror_once is supported). NPOTS textures do not * support an optional 1-texel border; POTS textures do support an optional 1-texel border.

* *

NPOTS textures are accessed by dimension-dependent (aka non-normalized) texture coordinates. So instead of thinking of the texture image lying in a * [0..1]x[0..1] range, the NPOTS texture image lies in a [0..w]x[0..h] range.

* *

This extension adds a new texture target and related state (proxy, binding, max texture size).

*/ public final class ARBTextureRectangle { /** * Accepted by the {@code cap} parameter of Enable, Disable and IsEnabled; by the {@code pname} parameter of GetBooleanv, GetIntegerv, GetFloatv and * GetDoublev; and by the {@code target} parameter of BindTexture, GetTexParameterfv, GetTexParameteriv, TexParameterf, TexParameteri, TexParameterfv and * TexParameteriv. */ public static final int GL_TEXTURE_RECTANGLE_ARB = 0x84F5; /** Accepted by the {@code pname} parameter of GetBooleanv, GetIntegerv, GetFloatv and GetDoublev. */ public static final int GL_TEXTURE_BINDING_RECTANGLE_ARB = 0x84F6; /** Accepted by the {@code target} parameter of GetTexLevelParameteriv, GetTexLevelParameterfv, GetTexParameteriv and TexImage2D. */ public static final int GL_PROXY_TEXTURE_RECTANGLE_ARB = 0x84F7; /** Accepted by the {@code pname} parameter of GetBooleanv, GetDoublev, GetIntegerv and GetFloatv. */ public static final int GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB = 0x84F8; /** * TEXTURE_RECTANGLE_ARB Returned by {@code type} parameter of GetActiveUniform when the location {@code index} for program object {@code program} is of * type sampler2DRect. */ public static final int GL_SAMPLER_2D_RECT_ARB = 0x8B63; /** * Returned by {@code type} parameter of GetActiveUniform when the location {@code index} for program object {@code program} is of type * sampler2DRectShadow. */ public static final int GL_SAMPLER_2D_RECT_SHADOW_ARB = 0x8B64; private ARBTextureRectangle() {} }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy