lwjgl/src/java/org/lwjgl/opengl/EXTVertexShader.java

357 lines
20 KiB
Java

/*
* Copyright (c) 2002-2004 LWJGL Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
*
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* * Neither the name of 'LWJGL' nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package org.lwjgl.opengl;
import java.nio.Buffer;
import java.nio.ByteBuffer;
import java.nio.FloatBuffer;
import java.nio.IntBuffer;
import java.nio.ShortBuffer;
public final class EXTVertexShader {
public static final int GL_VERTEX_SHADER_EXT = 0x8780;
public static final int GL_VERTEX_SHADER_BINDING_EXT = 0x8781;
public static final int GL_OP_INDEX_EXT = 0x8782;
public static final int GL_OP_NEGATE_EXT = 0x8783;
public static final int GL_OP_DOT3_EXT = 0x8784;
public static final int GL_OP_DOT4_EXT = 0x8785;
public static final int GL_OP_MUL_EXT = 0x8786;
public static final int GL_OP_ADD_EXT = 0x8787;
public static final int GL_OP_MADD_EXT = 0x8788;
public static final int GL_OP_FRAC_EXT = 0x8789;
public static final int GL_OP_MAX_EXT = 0x878A;
public static final int GL_OP_MIN_EXT = 0x878B;
public static final int GL_OP_SET_GE_EXT = 0x878C;
public static final int GL_OP_SET_LT_EXT = 0x878D;
public static final int GL_OP_CLAMP_EXT = 0x878E;
public static final int GL_OP_FLOOR_EXT = 0x878F;
public static final int GL_OP_ROUND_EXT = 0x8790;
public static final int GL_OP_EXP_BASE_2_EXT = 0x8791;
public static final int GL_OP_LOG_BASE_2_EXT = 0x8792;
public static final int GL_OP_POWER_EXT = 0x8793;
public static final int GL_OP_RECIP_EXT = 0x8794;
public static final int GL_OP_RECIP_SQRT_EXT = 0x8795;
public static final int GL_OP_SUB_EXT = 0x8796;
public static final int GL_OP_CROSS_PRODUCT_EXT = 0x8797;
public static final int GL_OP_MULTIPLY_MATRIX_EXT = 0x8798;
public static final int GL_OP_MOV_EXT = 0x8799;
public static final int GL_OUTPUT_VERTEX_EXT = 0x879A;
public static final int GL_OUTPUT_COLOR0_EXT = 0x879B;
public static final int GL_OUTPUT_COLOR1_EXT = 0x879C;
public static final int GL_OUTPUT_TEXTURE_COORD0_EXT = 0x879D;
public static final int GL_OUTPUT_TEXTURE_COORD1_EXT = 0x879E;
public static final int GL_OUTPUT_TEXTURE_COORD2_EXT = 0x879F;
public static final int GL_OUTPUT_TEXTURE_COORD3_EXT = 0x87A0;
public static final int GL_OUTPUT_TEXTURE_COORD4_EXT = 0x87A1;
public static final int GL_OUTPUT_TEXTURE_COORD5_EXT = 0x87A2;
public static final int GL_OUTPUT_TEXTURE_COORD6_EXT = 0x87A3;
public static final int GL_OUTPUT_TEXTURE_COORD7_EXT = 0x87A4;
public static final int GL_OUTPUT_TEXTURE_COORD8_EXT = 0x87A5;
public static final int GL_OUTPUT_TEXTURE_COORD9_EXT = 0x87A6;
public static final int GL_OUTPUT_TEXTURE_COORD10_EXT = 0x87A7;
public static final int GL_OUTPUT_TEXTURE_COORD11_EXT = 0x87A8;
public static final int GL_OUTPUT_TEXTURE_COORD12_EXT = 0x87A9;
public static final int GL_OUTPUT_TEXTURE_COORD13_EXT = 0x87AA;
public static final int GL_OUTPUT_TEXTURE_COORD14_EXT = 0x87AB;
public static final int GL_OUTPUT_TEXTURE_COORD15_EXT = 0x87AC;
public static final int GL_OUTPUT_TEXTURE_COORD16_EXT = 0x87AD;
public static final int GL_OUTPUT_TEXTURE_COORD17_EXT = 0x87AE;
public static final int GL_OUTPUT_TEXTURE_COORD18_EXT = 0x87AF;
public static final int GL_OUTPUT_TEXTURE_COORD19_EXT = 0x87B0;
public static final int GL_OUTPUT_TEXTURE_COORD20_EXT = 0x87B1;
public static final int GL_OUTPUT_TEXTURE_COORD21_EXT = 0x87B2;
public static final int GL_OUTPUT_TEXTURE_COORD22_EXT = 0x87B3;
public static final int GL_OUTPUT_TEXTURE_COORD23_EXT = 0x87B4;
public static final int GL_OUTPUT_TEXTURE_COORD24_EXT = 0x87B5;
public static final int GL_OUTPUT_TEXTURE_COORD25_EXT = 0x87B6;
public static final int GL_OUTPUT_TEXTURE_COORD26_EXT = 0x87B7;
public static final int GL_OUTPUT_TEXTURE_COORD27_EXT = 0x87B8;
public static final int GL_OUTPUT_TEXTURE_COORD28_EXT = 0x87B9;
public static final int GL_OUTPUT_TEXTURE_COORD29_EXT = 0x87BA;
public static final int GL_OUTPUT_TEXTURE_COORD30_EXT = 0x87BB;
public static final int GL_OUTPUT_TEXTURE_COORD31_EXT = 0x87BC;
public static final int GL_OUTPUT_FOG_EXT = 0x87BD;
public static final int GL_SCALAR_EXT = 0x87BE;
public static final int GL_VECTOR_EXT = 0x87BF;
public static final int GL_MATRIX_EXT = 0x87C0;
public static final int GL_VARIANT_EXT = 0x87C1;
public static final int GL_INVARIANT_EXT = 0x87C2;
public static final int GL_LOCAL_CONSTANT_EXT = 0x87C3;
public static final int GL_LOCAL_EXT = 0x87C4;
public static final int GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87C5;
public static final int GL_MAX_VERTEX_SHADER_VARIANTS_EXT = 0x87C6;
public static final int GL_MAX_VERTEX_SHADER_INVARIANTS_EXT = 0x87C7;
public static final int GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87C8;
public static final int GL_MAX_VERTEX_SHADER_LOCALS_EXT = 0x87C9;
public static final int GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87CA;
public static final int GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT = 0x87CB;
public static final int GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT = 0x87CC;
public static final int GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87CD;
public static final int GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT = 0x87CE;
public static final int GL_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87CF;
public static final int GL_VERTEX_SHADER_VARIANTS_EXT = 0x87D0;
public static final int GL_VERTEX_SHADER_INVARIANTS_EXT = 0x87D1;
public static final int GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87D2;
public static final int GL_VERTEX_SHADER_LOCALS_EXT = 0x87D3;
public static final int GL_VERTEX_SHADER_OPTIMIZED_EXT = 0x87D4;
public static final int GL_X_EXT = 0x87D5;
public static final int GL_Y_EXT = 0x87D6;
public static final int GL_Z_EXT = 0x87D7;
public static final int GL_W_EXT = 0x87D8;
public static final int GL_NEGATIVE_X_EXT = 0x87D9;
public static final int GL_NEGATIVE_Y_EXT = 0x87DA;
public static final int GL_NEGATIVE_Z_EXT = 0x87DB;
public static final int GL_NEGATIVE_W_EXT = 0x87DC;
public static final int GL_ZERO_EXT = 0x87DD;
public static final int GL_ONE_EXT = 0x87DE;
public static final int GL_NEGATIVE_ONE_EXT = 0x87DF;
public static final int GL_NORMALIZED_RANGE_EXT = 0x87E0;
public static final int GL_FULL_RANGE_EXT = 0x87E1;
public static final int GL_CURRENT_VERTEX_EXT = 0x87E2;
public static final int GL_MVP_MATRIX_EXT = 0x87E3;
public static final int GL_VARIANT_VALUE_EXT = 0x87E4;
public static final int GL_VARIANT_DATATYPE_EXT = 0x87E5;
public static final int GL_VARIANT_ARRAY_STRIDE_EXT = 0x87E6;
public static final int GL_VARIANT_ARRAY_TYPE_EXT = 0x87E7;
public static final int GL_VARIANT_ARRAY_EXT = 0x87E8;
public static final int GL_VARIANT_ARRAY_POINTER_EXT = 0x87E9;
public static final int GL_INVARIANT_VALUE_EXT = 0x87EA;
public static final int GL_INVARIANT_DATATYPE_EXT = 0x87EB;
public static final int GL_LOCAL_CONSTANT_VALUE_EXT = 0x87EC;
public static final int GL_LOCAL_CONSTANT_DATATYPE_EXT = 0x87ED;
static native void initNativeStubs();
public static native void glBeginVertexShaderEXT();
public static native void glEndVertexShaderEXT();
public static native void glBindVertexShaderEXT(int id);
public static native int glGenVertexShadersEXT(int range);
public static native void glDeleteVertexShaderEXT(int id);
public static native void glShaderOp1EXT(int op, int res, int arg1);
public static native void glShaderOp2EXT(int op, int res, int arg1, int arg2);
public static native void glShaderOp3EXT(
int op,
int res,
int arg1,
int arg2,
int arg3);
public static native void glSwizzleEXT(
int res,
int in,
int outX,
int outY,
int outZ,
int outW);
public static native void glWriteMaskEXT(
int res,
int in,
int outX,
int outY,
int outZ,
int outW);
public static native void glInsertComponentEXT(int res, int src, int num);
public static native void glExtractComponentEXT(int res, int src, int num);
public static native int glGenSymbolsEXT(
int dataType,
int storageType,
int range,
int components);
public static void glSetInvariantEXT(int id, boolean unsigned, ByteBuffer pAddr) {
BufferChecks.checkBuffer(pAddr);
nglSetInvariantEXT(id, unsigned ? GL11.GL_UNSIGNED_BYTE : GL11.GL_BYTE, pAddr, pAddr.position());
}
public static void glSetInvariantEXT(int id, boolean unsigned, ShortBuffer pAddr) {
BufferChecks.checkBuffer(pAddr);
nglSetInvariantEXT(id, unsigned ? GL11.GL_UNSIGNED_SHORT : GL11.GL_SHORT, pAddr, pAddr.position()<<1);
}
public static void glSetInvariantEXT(int id, FloatBuffer pAddr) {
BufferChecks.checkBuffer(pAddr);
nglSetInvariantEXT(id, GL11.GL_FLOAT, pAddr, pAddr.position()<<2);
}
public static void glSetInvariantEXT(int id, boolean unsigned, IntBuffer pAddr) {
nglSetInvariantEXT(id, unsigned ? GL11.GL_UNSIGNED_INT : GL11.GL_INT, pAddr, pAddr.position()<<2);
}
private static native void nglSetInvariantEXT(int id, int type, Buffer pAddr, int pAddr_offset);
public static void glSetLocalConstantEXT(int id, boolean unsigned, ByteBuffer pAddr) {
BufferChecks.checkBuffer(pAddr);
nglSetLocalConstantEXT(id, unsigned ? GL11.GL_UNSIGNED_BYTE : GL11.GL_BYTE, pAddr, pAddr.position());
}
public static void glSetLocalConstantEXT(int id, boolean unsigned, ShortBuffer pAddr) {
BufferChecks.checkBuffer(pAddr);
nglSetLocalConstantEXT(id, unsigned ? GL11.GL_UNSIGNED_SHORT : GL11.GL_SHORT, pAddr, pAddr.position()<<1);
}
public static void glSetLocalConstantEXT(int id, FloatBuffer pAddr) {
BufferChecks.checkBuffer(pAddr);
nglSetLocalConstantEXT(id, GL11.GL_FLOAT, pAddr, pAddr.position()<<2);
}
public static void glSetLocalConstantEXT(int id, boolean unsigned, IntBuffer pAddr) {
BufferChecks.checkBuffer(pAddr);
nglSetLocalConstantEXT(id, unsigned ? GL11.GL_UNSIGNED_INT : GL11.GL_INT, pAddr, pAddr.position()<<2);
}
private static native void nglSetLocalConstantEXT(int id, int type, Buffer pAddr, int pAddr_offset);
public static void glVariantEXT(int id, ByteBuffer pAddr) {
BufferChecks.checkBuffer(pAddr);
nglVariantbvEXT(id, pAddr, pAddr.position());
}
private static native void nglVariantbvEXT(int id, ByteBuffer pAddr, int pAddr_offset);
public static void glVariantEXT(int id, ShortBuffer psAddr) {
BufferChecks.checkBuffer(psAddr);
nglVariantsvEXT(id, psAddr, psAddr.position());
}
private static native void nglVariantsvEXT(int id, ShortBuffer psAddr, int psAddr_offset);
public static void glVariantEXT(int id, FloatBuffer pfAddr) {
BufferChecks.checkBuffer(pfAddr);
nglVariantfvEXT(id, pfAddr, pfAddr.position());
}
private static native void nglVariantfvEXT(int id, FloatBuffer pfAddr, int pfAddr_offset);
public static void glVariantEXT(int id, IntBuffer piAddr) {
BufferChecks.checkBuffer(piAddr);
nglVariantivEXT(id, piAddr, piAddr.position());
}
private static native void nglVariantivEXT(int id, IntBuffer piAddr, int piAddr_offset);
public static void glVariantuEXT(int id, ByteBuffer pAddr) {
BufferChecks.checkBuffer(pAddr);
nglVariantubvEXT(id, pAddr, pAddr.position());
}
private static native void nglVariantubvEXT(int id, ByteBuffer pAddr, int pAddr_offset);
public static void glVariantuEXT(int id, ShortBuffer psAddr) {
BufferChecks.checkBuffer(psAddr);
nglVariantusvEXT(id, psAddr, psAddr.position());
}
private static native void nglVariantusvEXT(int id, ShortBuffer psAddr, int psAddr_offset);
public static void glVariantuEXT(int id, IntBuffer piAddr) {
BufferChecks.checkBuffer(piAddr);
nglVariantuivEXT(id, piAddr, piAddr.position());
}
private static native void nglVariantuivEXT(int id, IntBuffer piAddr, int piAddr_offset);
public static void glVariantPointerEXT(int id, boolean unsigned, int stride, ByteBuffer pAddr) {
BufferChecks.ensureArrayVBOdisabled();
nglVariantPointerEXT(id, unsigned ? GL11.GL_UNSIGNED_BYTE : GL11.GL_BYTE, stride, pAddr, pAddr.position());
}
public static void glVariantPointerEXT(int id, boolean unsigned, int stride, ShortBuffer pAddr) {
BufferChecks.ensureArrayVBOdisabled();
nglVariantPointerEXT(id, unsigned ? GL11.GL_UNSIGNED_SHORT : GL11.GL_SHORT, stride, pAddr, pAddr.position()<<1);
}
public static void glVariantPointerEXT(int id, int stride, FloatBuffer pAddr) {
BufferChecks.ensureArrayVBOdisabled();
nglVariantPointerEXT(id, GL11.GL_FLOAT, stride, pAddr, pAddr.position()<<2);
}
public static void glVariantPointerEXT(int id, boolean unsigned, int stride, IntBuffer pAddr) {
BufferChecks.ensureArrayVBOdisabled();
nglVariantPointerEXT(id, unsigned ? GL11.GL_UNSIGNED_INT : GL11.GL_INT, stride, pAddr, pAddr.position()<<2);
}
private static native void nglVariantPointerEXT(int id, int type, int stride, Buffer pAddr, int pAddr_offset);
public static void glVariantPointerEXT(int id, int type, int stride, int buffer_offset) {
BufferChecks.ensureArrayVBOenabled();
nglVariantPointerEXTVBO(id, type, stride, buffer_offset);
}
private static native void nglVariantPointerEXTVBO(int id, int type, int stride, int buffer_offset);
public static native void glEnableVariantClientStateEXT(int id);
public static native void glDisableVariantClientStateEXT(int id);
public static native int glBindLightParameterEXT(int light, int value);
public static native int glBindMaterialParameterEXT(int face, int value);
public static native int glBindTexGenParameterEXT(int unit, int coord, int value);
public static native int glBindTextureUnitParameterEXT(int unit, int value);
public static native int glBindParameterEXT(int value);
public static native boolean glIsVariantEnabledEXT(int id, int cap);
public static void glGetVariantBooleanEXT(int id, int value, ByteBuffer pbData) {
nglGetVariantBooleanvEXT(id, value, pbData, pbData.position());
}
private static native void nglGetVariantBooleanvEXT(int id, int value, ByteBuffer pbData, int pbData_offset);
public static void glGetVariantIntegerEXT(int id, int value, IntBuffer piData) {
nglGetVariantIntegervEXT(id, value, piData, piData.position());
}
private static native void nglGetVariantIntegervEXT(int id, int value, IntBuffer piData, int piData_offset);
public static void glGetVariantFloatEXT(int id, int value, FloatBuffer pfData) {
nglGetVariantFloatvEXT(id, value, pfData, pfData.position());
}
private static native void nglGetVariantFloatvEXT(int id, int value, FloatBuffer pfData, int pfData_offset);
public static native ByteBuffer glGetVariantPointerEXT(int id, int value, int size);
public static void glGetInvariantBooleanEXT(int id, int value, ByteBuffer pbData) {
nglGetInvariantBooleanvEXT(id, value, pbData, pbData.position());
}
private static native void nglGetInvariantBooleanvEXT(int id, int value, ByteBuffer pbData, int pbData_offset);
public static void glGetInvariantIntegerEXT(int id, int value, IntBuffer piData) {
nglGetInvariantIntegervEXT(id, value, piData, piData.position());
}
private static native void nglGetInvariantIntegervEXT(int id, int value, IntBuffer piData, int piData_offset);
public static void glGetInvariantFloatEXT(int id, int value, FloatBuffer pfData) {
nglGetInvariantFloatvEXT(id, value, pfData, pfData.position());
}
private static native void nglGetInvariantFloatvEXT(int id, int value, FloatBuffer pfData, int pfData_offset);
public static void glGetLocalConstantBooleanEXT(int id, int value, ByteBuffer pbData) {
nglGetLocalConstantBooleanvEXT(id, value, pbData, pbData.position());
}
private static native void nglGetLocalConstantBooleanvEXT(int id, int value, ByteBuffer pbData, int pbData_offset);
public static void glGetLocalConstantIntegerEXT(int id, int value, IntBuffer piData) {
nglGetLocalConstantIntegervEXT(id, value, piData, piData.position());
}
private static native void nglGetLocalConstantIntegervEXT(int id, int value, IntBuffer piData, int piData_offset);
public static void glGetLocalConstantFloatEXT(int id, int value, FloatBuffer pfData) {
nglGetLocalConstantFloatvEXT(id, value, pfData, pfData.position());
}
private static native void nglGetLocalConstantFloatvEXT(int id, int value, FloatBuffer pfData, int pfData_offset);
}