Added support for OpenGL 3.2 and the following extensions: AMD_draw_buffers_blend, ARB_depth_clamp, ARB_draw_buffers_blend, ARB_draw_elements_base_vertex, ARB_fragment_coord_conventions, ARB_provoking_vertex, ARB_sample_shading, ARB_seamless_cube_map, ARB_shader_texture_lod, ARB_texture_cube_map_array, ARB_texture_gather, ARB_texture_multisample, ARB_texture_query_lod, ARB_vertex_array_bgra, EXT_separate_shader_objects, EXT_texture_snorm, NV_copy_image, NV_parameter_buffer_object2.

This commit is contained in:
Ioannis Tsakpinis 2009-08-04 18:21:41 +00:00
parent b37909187e
commit b130c415f7
29 changed files with 1565 additions and 91 deletions

View File

@ -48,7 +48,7 @@ import java.nio.IntBuffer;
* implementation. Developers may encounter debug contexts being the same as non-debug contexts or forward compatible
* contexts having support for deprecated functionality.
* <p/>
* Warning: This functionality is currently available on the Windows platform only. However, if the forwardCompatible
* If the forwardCompatible
* attribute is used, LWJGL will not load the deprecated functionality (as defined in the OpenGL 3.0 specification). This
* means that developers can start working on cleaning up their applications without an OpenGL 3.0 complaint driver.
*
@ -64,6 +64,9 @@ public final class ContextAttribs {
private boolean debug;
private boolean forwardCompatible;
private boolean profileCore;
private boolean profileCompatibility;
public ContextAttribs() {
this(1, 0);
}
@ -72,7 +75,7 @@ public final class ContextAttribs {
if ( majorVersion < 0 ||
3 < majorVersion ||
minorVersion < 0 ||
(majorVersion == 3 && 1 < minorVersion) ||
(majorVersion == 3 && 2 < minorVersion) ||
(majorVersion == 2 && 1 < minorVersion) ||
(majorVersion == 1 && 5 < minorVersion) )
throw new IllegalArgumentException("Invalid OpenGL version specified: " + majorVersion + '.' + minorVersion);
@ -84,6 +87,9 @@ public final class ContextAttribs {
this.debug = false;
this.forwardCompatible = false;
this.profileCore = 3 < majorVersion || (majorVersion == 3 && 2 <= minorVersion) ? true : false;
this.profileCompatibility = false;
}
private ContextAttribs(final ContextAttribs attribs) {
@ -94,6 +100,9 @@ public final class ContextAttribs {
this.debug = attribs.debug;
this.forwardCompatible = attribs.forwardCompatible;
this.profileCore = attribs.profileCore;
this.profileCompatibility = attribs.profileCompatibility;
}
public int getMajorVersion() {
@ -116,27 +125,74 @@ public final class ContextAttribs {
return forwardCompatible;
}
public boolean isProfileCore() {
return profileCore;
}
public boolean isProfileCompatibility() {
return profileCompatibility;
}
public ContextAttribs withLayer(final int layerPlane) {
if ( layerPlane < 0 )
throw new IllegalArgumentException("Invalid layer plane specified: " + layerPlane);
if ( layerPlane == this.layerPlane )
return this;
final ContextAttribs attribs = new ContextAttribs(this);
attribs.layerPlane = layerPlane;
return attribs;
}
public ContextAttribs withDebug(final boolean debug) {
if ( debug == this.debug )
return this;
final ContextAttribs attribs = new ContextAttribs(this);
attribs.debug = debug;
return attribs;
}
public ContextAttribs withForwardCompatible(final boolean forwardCompatible) {
if ( forwardCompatible == this.forwardCompatible )
return this;
final ContextAttribs attribs = new ContextAttribs(this);
attribs.forwardCompatible = forwardCompatible;
return attribs;
}
public ContextAttribs withProfileCore(final boolean profileCore) {
if ( majorVersion < 3 || (majorVersion == 3 && minorVersion < 2) )
throw new IllegalArgumentException("Profiles are only supported on OpenGL version 3.2 or higher.");
if ( profileCore == this.profileCore )
return this;
final ContextAttribs attribs = new ContextAttribs(this);
attribs.profileCore = profileCore;
if ( profileCore )
attribs.profileCompatibility = false;
return attribs;
}
public ContextAttribs withProfileCompatibility(final boolean profileCompatibility) {
if ( majorVersion < 3 || (majorVersion == 3 && minorVersion < 2) )
throw new IllegalArgumentException("Profiles are only supported on OpenGL version 3.2 or higher.");
if ( profileCompatibility == this.profileCompatibility )
return this;
final ContextAttribs attribs = new ContextAttribs(this);
attribs.profileCompatibility = profileCompatibility;
if ( profileCompatibility )
attribs.profileCore = false;
return attribs;
}
private static ContextAttribsImplementation getImplementation() {
switch ( LWJGLUtil.getPlatform() ) {
case LWJGLUtil.PLATFORM_LINUX:
@ -168,6 +224,14 @@ public final class ContextAttribs {
if ( 0 < flags )
attribCount++;
int profileMask = 0;
if ( profileCore )
profileMask |= implementation.getProfileCoreBit();
else if ( profileCompatibility )
profileMask |= implementation.getProfileCompatibilityBit();
if ( 0 < profileMask )
attribCount++;
if ( attribCount == 0 )
return null;
@ -181,6 +245,8 @@ public final class ContextAttribs {
attribs.put(implementation.getLayerPlaneAttrib()).put(layerPlane);
if ( 0 < flags )
attribs.put(implementation.getFlagsAttrib()).put(flags);
if ( 0 < profileMask )
attribs.put(implementation.getProfileMaskAttrib()).put(profileMask);
attribs.put(0);
attribs.rewind();
@ -195,6 +261,13 @@ public final class ContextAttribs {
sb.append(" - Layer=").append(layerPlane);
sb.append(" - Debug=").append(debug);
sb.append(" - ForwardCompatible=").append(forwardCompatible);
sb.append(" - Profile=");
if ( profileCore )
sb.append("Core");
else if ( profileCompatibility )
sb.append("Compatibility");
else
sb.append("None");
return sb.toString();
}

View File

@ -47,4 +47,10 @@ interface ContextAttribsImplementation {
int getForwardCompatibleBit();
int getProfileMaskAttrib();
int getProfileCoreBit();
int getProfileCompatibilityBit();
}

View File

@ -200,6 +200,8 @@ public final class GLContext {
}
// ----------------------[ 3.X ]----------------------
if ( 3 < majorVersion || (3 == majorVersion && 2 <= minorVersion) )
supported_extensions.add("OpenGL32");
if ( 3 < majorVersion || (3 == majorVersion && 1 <= minorVersion) )
supported_extensions.add("OpenGL31");
if ( 3 <= majorVersion )

View File

@ -44,10 +44,14 @@ final class LinuxContextAttribs implements ContextAttribsImplementation {
private static final int GLX_CONTEXT_MINOR_VERSION_ARB = 0x2092;
private static final int GLX_CONTEXT_LAYER_PLANE_ARB = 0x2093;
private static final int GLX_CONTEXT_FLAGS_ARB = 0x2094;
private static final int GLX_CONTEXT_PROFILE_MASK_ARB = 0x9126;
private static final int GLX_CONTEXT_DEBUG_BIT_ARB = 0x0001;
private static final int GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB = 0x0002;
private static final int GLX_CONTEXT_CORE_PROFILE_BIT_ARB = 0x00000001;
private static final int GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB = 0x00000002;
LinuxContextAttribs() {
}
@ -75,4 +79,16 @@ final class LinuxContextAttribs implements ContextAttribsImplementation {
return GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB;
}
public int getProfileMaskAttrib() {
return GLX_CONTEXT_PROFILE_MASK_ARB;
}
public int getProfileCoreBit() {
return GLX_CONTEXT_CORE_PROFILE_BIT_ARB;
}
public int getProfileCompatibilityBit() {
return GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB;
}
}

View File

@ -44,10 +44,14 @@ final class MacOSXContextAttribs implements ContextAttribsImplementation {
private static final int XGL_CONTEXT_MINOR_VERSION_ARB = 0x2092;
private static final int XGL_CONTEXT_LAYER_PLANE_ARB = 0x2093;
private static final int XGL_CONTEXT_FLAGS_ARB = 0x2094;
private static final int XGL_CONTEXT_PROFILE_MASK_ARB = 0x9126;
private static final int XGL_CONTEXT_DEBUG_BIT_ARB = 0x0001;
private static final int XGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB = 0x0002;
private static final int XGL_CONTEXT_CORE_PROFILE_BIT_ARB = 0x00000001;
private static final int XGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB = 0x00000002;
MacOSXContextAttribs() {
}
@ -75,4 +79,16 @@ final class MacOSXContextAttribs implements ContextAttribsImplementation {
return XGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB;
}
public int getProfileMaskAttrib() {
return XGL_CONTEXT_PROFILE_MASK_ARB;
}
public int getProfileCoreBit() {
return XGL_CONTEXT_CORE_PROFILE_BIT_ARB;
}
public int getProfileCompatibilityBit() {
return XGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB;
}
}

View File

@ -42,10 +42,14 @@ final class WindowsContextAttribs implements ContextAttribsImplementation {
private static final int WGL_CONTEXT_MINOR_VERSION_ARB = 0x2092;
private static final int WGL_CONTEXT_LAYER_PLANE_ARB = 0x2093;
private static final int WGL_CONTEXT_FLAGS_ARB = 0x2094;
private static final int WGL_CONTEXT_PROFILE_MASK_ARB = 0x9126;
private static final int WGL_CONTEXT_DEBUG_BIT_ARB = 0x0001;
private static final int WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB = 0x0002;
private static final int WGL_CONTEXT_CORE_PROFILE_BIT_ARB = 0x00000001;
private static final int WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB = 0x00000002;
WindowsContextAttribs() {
}
@ -73,4 +77,16 @@ final class WindowsContextAttribs implements ContextAttribsImplementation {
return WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB;
}
public int getProfileMaskAttrib() {
return WGL_CONTEXT_PROFILE_MASK_ARB;
}
public int getProfileCoreBit() {
return WGL_CONTEXT_CORE_PROFILE_BIT_ARB;
}
public int getProfileCompatibilityBit() {
return WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB;
}
}

View File

@ -48,17 +48,23 @@ public class FieldsGenerator {
if (!(field_type instanceof PrimitiveType))
throw new RuntimeException("Field " + field.getSimpleName() + " is not a primitive type");
PrimitiveType field_type_prim = (PrimitiveType)field_type;
if (field_type_prim.getKind() != PrimitiveType.Kind.INT)
throw new RuntimeException("Field " + field.getSimpleName() + " is not of type 'int'");
Integer field_value = (Integer)field.getConstantValue();
if (field_type_prim.getKind() != PrimitiveType.Kind.INT && field_type_prim.getKind() != PrimitiveType.Kind.LONG)
throw new RuntimeException("Field " + field.getSimpleName() + " is not of type 'int' or 'long'");
Object field_value = field.getConstantValue();
if (field_value == null)
throw new RuntimeException("Field " + field.getSimpleName() + " has no initial value");
}
private static void generateField(PrintWriter writer, FieldDeclaration field) {
Integer field_value = (Integer)field.getConstantValue();
validateField(field);
String field_value_string = Integer.toHexString(field_value);
Object value = field.getConstantValue();
String field_value_string;
if ( value.getClass().equals(Integer.class) )
field_value_string = Integer.toHexString((Integer)field.getConstantValue());
else
field_value_string = Long.toHexString((Long)field.getConstantValue()) + 'l';
Utils.printDocComment(writer, field);
// Print field declaration
writer.println("\tpublic static final " + field.getType().toString() + " " + field.getSimpleName() + " = 0x" + field_value_string + ";");

View File

@ -41,14 +41,16 @@ package org.lwjgl.util.generator;
* $Id$
*/
import com.sun.mirror.declaration.*;
import com.sun.mirror.type.*;
import java.io.*;
import java.util.*;
import java.io.PrintWriter;
import java.nio.*;
import java.util.HashMap;
import java.util.Map;
import com.sun.mirror.declaration.AnnotationMirror;
import com.sun.mirror.type.PrimitiveType;
public class GLTypeMap implements TypeMap {
private static final Map<Class, PrimitiveType.Kind> native_types_to_primitive;
static {
@ -78,11 +80,14 @@ public class GLTypeMap implements TypeMap {
native_types_to_primitive.put(GLvoid.class, PrimitiveType.Kind.BYTE);
native_types_to_primitive.put(GLint64EXT.class, PrimitiveType.Kind.LONG);
native_types_to_primitive.put(GLuint64EXT.class, PrimitiveType.Kind.LONG);
native_types_to_primitive.put(GLint64.class, PrimitiveType.Kind.LONG);
native_types_to_primitive.put(GLuint64.class, PrimitiveType.Kind.LONG);
native_types_to_primitive.put(GLsync.class, PrimitiveType.Kind.LONG);
}
public PrimitiveType.Kind getPrimitiveTypeFromNativeType(Class native_type) {
PrimitiveType.Kind kind = native_types_to_primitive.get(native_type);
if (kind == null)
if ( kind == null )
throw new RuntimeException("Unsupported type " + native_type);
return kind;
}
@ -96,50 +101,46 @@ public class GLTypeMap implements TypeMap {
}
public Signedness getSignednessFromType(Class type) {
if (GLuint.class.equals(type))
if ( GLuint.class.equals(type) )
return Signedness.UNSIGNED;
else if (GLint.class.equals(type))
else if ( GLint.class.equals(type) )
return Signedness.SIGNED;
else if (GLushort.class.equals(type))
else if ( GLushort.class.equals(type) )
return Signedness.UNSIGNED;
else if (GLshort.class.equals(type))
else if ( GLshort.class.equals(type) )
return Signedness.SIGNED;
else if (GLubyte.class.equals(type))
else if ( GLubyte.class.equals(type) )
return Signedness.UNSIGNED;
else if (GLbyte.class.equals(type))
else if ( GLbyte.class.equals(type) )
return Signedness.SIGNED;
else if (GLuint64EXT.class.equals(type))
else if ( GLuint64EXT.class.equals(type) )
return Signedness.UNSIGNED;
else if (GLint64EXT.class.equals(type))
else if ( GLint64EXT.class.equals(type) )
return Signedness.SIGNED;
else if ( GLuint64.class.equals(type) )
return Signedness.UNSIGNED;
else if ( GLint64.class.equals(type) )
return Signedness.SIGNED;
else
return Signedness.NONE;
}
public String translateAnnotation(Class annotation_type) {
if (annotation_type.equals(GLuint.class))
if ( annotation_type.equals(GLuint.class) || annotation_type.equals(GLint.class) )
return "i";
else if (annotation_type.equals(GLint.class))
return "i";
else if (annotation_type.equals(GLushort.class))
return"s";
else if (annotation_type.equals(GLshort.class))
else if ( annotation_type.equals(GLushort.class) || annotation_type.equals(GLshort.class) )
return "s";
else if (annotation_type.equals(GLubyte.class))
else if ( annotation_type.equals(GLubyte.class) || annotation_type.equals(GLbyte.class) )
return "b";
else if (annotation_type.equals(GLbyte.class))
return "b";
else if (annotation_type.equals(GLfloat.class))
else if ( annotation_type.equals(GLfloat.class) )
return "f";
else if (annotation_type.equals(GLdouble.class))
else if ( annotation_type.equals(GLdouble.class) )
return "d";
else if (annotation_type.equals(GLhalf.class))
else if ( annotation_type.equals(GLhalf.class) )
return "h";
else if (annotation_type.equals(GLuint64EXT.class))
else if ( annotation_type.equals(GLuint64EXT.class) || annotation_type.equals(GLint64EXT.class) || annotation_type.equals(GLuint64.class) || annotation_type.equals(GLint64.class) )
return "i64";
else if (annotation_type.equals(GLint64EXT.class))
return "i64";
else if (annotation_type.equals(GLboolean.class) || annotation_type.equals(GLvoid.class))
else if ( annotation_type.equals(GLboolean.class) || annotation_type.equals(GLvoid.class) )
return "";
else
throw new RuntimeException(annotation_type + " is not allowed");
@ -147,7 +148,7 @@ public class GLTypeMap implements TypeMap {
public Class getNativeTypeFromPrimitiveType(PrimitiveType.Kind kind) {
Class type;
switch (kind) {
switch ( kind ) {
case INT:
type = GLint.class;
break;
@ -184,43 +185,43 @@ public class GLTypeMap implements TypeMap {
}
private static Class[] getValidBufferTypes(Class type) {
if (type.equals(IntBuffer.class))
return new Class[]{GLbitfield.class, GLenum.class, GLhandleARB.class, GLint.class,
GLsizei.class, GLuint.class};
else if (type.equals(FloatBuffer.class))
return new Class[]{GLclampf.class, GLfloat.class};
else if (type.equals(ByteBuffer.class))
return new Class[]{GLboolean.class, GLbyte.class, GLcharARB.class, GLchar.class, GLubyte.class, GLvoid.class};
else if (type.equals(ShortBuffer.class))
return new Class[]{GLhalf.class, GLshort.class, GLushort.class};
else if (type.equals(DoubleBuffer.class))
return new Class[]{GLclampd.class, GLdouble.class};
else if (type.equals(LongBuffer.class))
return new Class[]{GLint64EXT.class, GLuint64EXT.class};
if ( type.equals(IntBuffer.class) )
return new Class[] { GLbitfield.class, GLenum.class, GLhandleARB.class, GLint.class,
GLsizei.class, GLuint.class };
else if ( type.equals(FloatBuffer.class) )
return new Class[] { GLclampf.class, GLfloat.class };
else if ( type.equals(ByteBuffer.class) )
return new Class[] { GLboolean.class, GLbyte.class, GLcharARB.class, GLchar.class, GLubyte.class, GLvoid.class };
else if ( type.equals(ShortBuffer.class) )
return new Class[] { GLhalf.class, GLshort.class, GLushort.class };
else if ( type.equals(DoubleBuffer.class) )
return new Class[] { GLclampd.class, GLdouble.class };
else if ( type.equals(LongBuffer.class) )
return new Class[] { GLint64EXT.class, GLuint64EXT.class, GLint64.class, GLuint64.class, GLsync.class };
else
return new Class[]{};
return new Class[] { };
}
private static Class[] getValidPrimitiveTypes(Class type) {
if (type.equals(long.class))
return new Class[]{GLintptrARB.class, GLuint.class, GLintptr.class, GLsizeiptrARB.class, GLsizeiptr.class, GLint64EXT.class, GLuint64EXT.class};
else if (type.equals(int.class))
return new Class[]{GLbitfield.class, GLenum.class, GLhandleARB.class, GLint.class, GLuint.class,
GLsizei.class};
else if (type.equals(double.class))
return new Class[]{GLclampd.class, GLdouble.class};
else if (type.equals(float.class))
return new Class[]{GLclampf.class, GLfloat.class};
else if (type.equals(short.class))
return new Class[]{GLhalf.class, GLshort.class, GLushort.class};
else if (type.equals(byte.class))
return new Class[]{GLbyte.class, GLcharARB.class, GLchar.class, GLubyte.class};
else if (type.equals(boolean.class))
return new Class[]{GLboolean.class};
else if (type.equals(void.class))
return new Class[]{GLvoid.class};
if ( type.equals(long.class) )
return new Class[] { GLintptrARB.class, GLuint.class, GLintptr.class, GLsizeiptrARB.class, GLsizeiptr.class, GLint64EXT.class, GLuint64EXT.class, GLint64.class, GLuint64.class, GLsync.class };
else if ( type.equals(int.class) )
return new Class[] { GLbitfield.class, GLenum.class, GLhandleARB.class, GLint.class, GLuint.class,
GLsizei.class };
else if ( type.equals(double.class) )
return new Class[] { GLclampd.class, GLdouble.class };
else if ( type.equals(float.class) )
return new Class[] { GLclampf.class, GLfloat.class };
else if ( type.equals(short.class) )
return new Class[] { GLhalf.class, GLshort.class, GLushort.class };
else if ( type.equals(byte.class) )
return new Class[] { GLbyte.class, GLcharARB.class, GLchar.class, GLubyte.class };
else if ( type.equals(boolean.class) )
return new Class[] { GLboolean.class };
else if ( type.equals(void.class) )
return new Class[] { GLvoid.class };
else
return new Class[]{};
return new Class[] { };
}
public String getTypedefPrefix() {
@ -233,55 +234,59 @@ public class GLTypeMap implements TypeMap {
public Class[] getValidAnnotationTypes(Class type) {
Class[] valid_types;
if (Buffer.class.isAssignableFrom(type))
if ( Buffer.class.isAssignableFrom(type) )
valid_types = getValidBufferTypes(type);
else if (type.isPrimitive())
else if ( type.isPrimitive() )
valid_types = getValidPrimitiveTypes(type);
else if (String.class.equals(type))
valid_types = new Class[]{GLubyte.class};
else if ( String.class.equals(type) )
valid_types = new Class[] { GLubyte.class };
else
valid_types = new Class[]{};
valid_types = new Class[] { };
return valid_types;
}
public Class getInverseType(Class type) {
if (GLuint.class.equals(type))
if ( GLuint.class.equals(type) )
return GLint.class;
else if (GLint.class.equals(type))
else if ( GLint.class.equals(type) )
return GLuint.class;
else if (GLushort.class.equals(type))
else if ( GLushort.class.equals(type) )
return GLshort.class;
else if (GLshort.class.equals(type))
else if ( GLshort.class.equals(type) )
return GLushort.class;
else if (GLubyte.class.equals(type))
else if ( GLubyte.class.equals(type) )
return GLbyte.class;
else if (GLbyte.class.equals(type))
else if ( GLbyte.class.equals(type) )
return GLubyte.class;
else if (GLuint64EXT.class.equals(type))
else if ( GLuint64EXT.class.equals(type) )
return GLint64EXT.class;
else if (GLint64EXT.class.equals(type))
else if ( GLint64EXT.class.equals(type) )
return GLuint64EXT.class;
else if ( GLuint64.class.equals(type) )
return GLint64.class;
else if ( GLint64.class.equals(type) )
return GLuint64.class;
else
return null;
}
public String getAutoTypeFromAnnotation(AnnotationMirror annotation) {
Class annotation_class = NativeTypeTranslator.getClassFromType(annotation.getAnnotationType());
if (annotation_class.equals(GLint.class))
if ( annotation_class.equals(GLint.class) )
return "GL11.GL_INT";
else if (annotation_class.equals(GLbyte.class))
else if ( annotation_class.equals(GLbyte.class) )
return "GL11.GL_BYTE";
else if (annotation_class.equals(GLshort.class))
else if ( annotation_class.equals(GLshort.class) )
return "GL11.GL_SHORT";
if (annotation_class.equals(GLuint.class))
if ( annotation_class.equals(GLuint.class) )
return "GL11.GL_UNSIGNED_INT";
else if (annotation_class.equals(GLubyte.class))
else if ( annotation_class.equals(GLubyte.class) )
return "GL11.GL_UNSIGNED_BYTE";
else if (annotation_class.equals(GLushort.class))
else if ( annotation_class.equals(GLushort.class) )
return "GL11.GL_UNSIGNED_SHORT";
else if (annotation_class.equals(GLfloat.class))
else if ( annotation_class.equals(GLfloat.class) )
return "GL11.GL_FLOAT";
else if (annotation_class.equals(GLdouble.class))
else if ( annotation_class.equals(GLdouble.class) )
return "GL11.GL_DOUBLE";
else
return null;

View File

@ -129,6 +129,9 @@ typedef unsigned short GLhalfNV;
typedef unsigned short GLhalf;
typedef int64_t GLint64EXT;
typedef uint64_t GLuint64EXT;
typedef int64_t GLint64;
typedef uint64_t GLuint64;
typedef struct __GLsync *GLsync;
/* helper stuff */

View File

@ -0,0 +1,49 @@
/*
* Copyright (c) 2002-2008 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 org.lwjgl.util.generator.GLenum;
import org.lwjgl.util.generator.GLuint;
public interface AMD_draw_buffers_blend {
void glBlendFuncIndexedAMD(@GLuint int buf, @GLenum int src, @GLenum int dst);
void glBlendFuncSeparateIndexedAMD(@GLuint int buf, @GLenum int srcRGB, @GLenum int dstRGB,
@GLenum int srcAlpha, @GLenum int dstAlpha);
void glBlendEquationIndexedAMD(@GLuint int buf, @GLenum int mode);
void glBlendEquationSeparateIndexedAMD(@GLuint int buf, @GLenum int modeRGB,
@GLenum int modeAlpha);
}

View File

@ -0,0 +1,43 @@
/*
* Copyright (c) 2002-2008 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;
public interface ARB_depth_clamp {
/**
* Accepted by the &lt;cap&gt; parameter of Enable, Disable, and IsEnabled,
* and by the &lt;pname&gt; parameter of GetBooleanv, GetIntegerv,
* GetFloatv, and GetDoublev:
*/
int GL_DEPTH_CLAMP = 0x864F;
}

View File

@ -0,0 +1,47 @@
/*
* Copyright (c) 2002-2008 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 org.lwjgl.util.generator.GLenum;
import org.lwjgl.util.generator.GLuint;
public interface ARB_draw_buffers_blend {
void glBlendEquationiARB(@GLuint int buf, @GLenum int mode);
void glBlendEquationSeparateiARB(@GLuint int buf, @GLenum int modeRGB, @GLenum int modeAlpha);
void glBlendFunciARB(@GLuint int buf, @GLenum int src, @GLenum int dst);
void glBlendFuncSeparateiARB(@GLuint int buf, @GLenum int srcRGB, @GLenum int dstRGB, @GLenum int srcAlpha, @GLenum int dstAlpha);
}

View File

@ -0,0 +1,63 @@
/*
* Copyright (c) 2002-2008 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 org.lwjgl.util.generator.*;
import java.nio.Buffer;
public interface ARB_draw_elements_base_vertex {
void glDrawElementsBaseVertex(@GLenum int mode, @AutoSize("indices") @GLsizei int count, @AutoType("indices") @GLenum int type,
@BufferObject(BufferKind.ElementVBO)
@Const
@GLubyte
@GLushort
@GLuint Buffer indices, int basevertex);
void glDrawRangeElementsBaseVertex(@GLenum int mode, @GLuint int start, @GLuint int end, @AutoSize("indices") @GLsizei int count, @AutoType("indices") @GLenum int type,
@BufferObject(BufferKind.ElementVBO)
@Const
@GLubyte
@GLushort
@GLuint Buffer indices, int basevertex);
void glDrawElementsInstancedBaseVertex(@GLenum int mode, @AutoSize("indices") @GLsizei int count, @AutoType("indices") @GLenum int type,
@BufferObject(BufferKind.ElementVBO)
@Const
@GLubyte
@GLushort
@GLuint Buffer indices, @GLsizei int primcount, int basevertex);
//void glMultiDrawElementsBaseVertex(@GLenum int mode, @GLsizei*count, @GLenum int type, void**indices, @GLsizei int primcount, int*basevertex)
}

View File

@ -0,0 +1,35 @@
/*
* Copyright (c) 2002-2008 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;
public interface ARB_fragment_coord_conventions {
}

View File

@ -0,0 +1,51 @@
/*
* Copyright (c) 2002-2008 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 org.lwjgl.util.generator.GLenum;
public interface ARB_provoking_vertex {
/** Accepted by the &lt;mode&gt; parameter of ProvokingVertex: */
int GL_FIRST_VERTEX_CONVENTION = 0x8E4D;
int GL_LAST_VERTEX_CONVENTION = 0x8E4E;
/**
* Accepted by the &lt;pname&gt; parameter of GetBooleanv, GetIntegerv,
* GetFloatv, and GetDoublev:
*/
int GL_PROVOKING_VERTEX = 0x8E4F;
int GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION = 0x8E4C;
void glProvokingVertex(@GLenum int mode);
}

View File

@ -0,0 +1,53 @@
/*
* Copyright (c) 2002-2008 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 org.lwjgl.util.generator.GLclampf;
public interface ARB_sample_shading {
/**
* Accepted by the &lt;cap&gt; parameter of Enable, Disable, and IsEnabled,
* and by the &lt;pname&gt; parameter of GetBooleanv, GetIntegerv, GetFloatv,
* and GetDoublev:
*/
int GL_SAMPLE_SHADING_ARB = 0x8C36;
/**
* Accepted by the &lt;pname&gt; parameter of GetBooleanv, GetDoublev,
* GetIntegerv, and GetFloatv:
*/
int GL_MIN_SAMPLE_SHADING_VALUE_ARB = 0x8C37;
void glMinSampleShadingARB(@GLclampf float value);
}

View File

@ -0,0 +1,43 @@
/*
* Copyright (c) 2002-2008 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;
public interface ARB_seamless_cube_map {
/**
* Accepted by the &lt;cap&gt; parameter of Enable, Disable and IsEnabled,
* and by the &lt;pname&gt; parameter of GetBooleanv, GetIntegerv, GetFloatv
* and GetDoublev:
*/
int GL_TEXTURE_CUBE_MAP_SEAMLESS = 0x884F;
}

View File

@ -0,0 +1,35 @@
/*
* Copyright (c) 2002-2008 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;
public interface ARB_shader_texture_lod {
}

View File

@ -0,0 +1,93 @@
/*
* Copyright (c) 2002-2008 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 org.lwjgl.util.generator.*;
import java.nio.IntBuffer;
import java.nio.LongBuffer;
@Extension(postfix = "")
public interface ARB_sync {
/** Accepted as the &lt;pname&gt; parameter of GetInteger64v: */
int GL_MAX_SERVER_WAIT_TIMEOUT = 0x9111;
/** Accepted as the &lt;pname&gt; parameter of GetSynciv: */
int GL_OBJECT_TYPE = 0x9112;
int GL_SYNC_CONDITION = 0x9113;
int GL_SYNC_STATUS = 0x9114;
int GL_SYNC_FLAGS = 0x9115;
/** Returned in &lt;values&gt; for GetSynciv &lt;pname&gt; OBJECT_TYPE: */
int GL_SYNC_FENCE = 0x9116;
/** Returned in &lt;values&gt; for GetSynciv &lt;pname&gt; SYNC_CONDITION: */
int GL_SYNC_GPU_COMMANDS_COMPLETE = 0x9117;
/** Returned in &lt;values&gt; for GetSynciv &lt;pname&gt; SYNC_STATUS: */
int GL_UNSIGNALED = 0x9118;
int GL_SIGNALED = 0x9119;
/** Accepted in the &lt;flags&gt; parameter of ClientWaitSync: */
int GL_SYNC_FLUSH_COMMANDS_BIT = 0x00000001;
/** Accepted in the &lt;timeout&gt; parameter of WaitSync: */
long GL_TIMEOUT_IGNORED = 0xFFFFFFFFFFFFFFFFl;
/** Returned by ClientWaitSync: */
int GL_ALREADY_SIGNALED = 0x911A;
int GL_TIMEOUT_EXPIRED = 0x911B;
int GL_CONDITION_SATISFIED = 0x911C;
int GL_WAIT_FAILED = 0x911D;
@GLsync
long glFenceSync(@GLenum int condition, @GLbitfield int flags);
boolean glIsSync(@GLsync long sync);
void glDeleteSync(@GLsync long sync);
@GLenum
int glClientWaitSync(@GLsync long sync, @GLbitfield int flags, @GLuint64 long timeout);
void glWaitSync(@GLsync long sync, @GLbitfield int flags, @GLuint64 long timeout);
@StripPostfix("params")
void glGetInteger64v(@GLenum int pname, @OutParameter @Check("1") @GLint64 LongBuffer params);
void glGetSynciv(@GLsync long sync, @GLenum int pname,
@AutoSize("values") @GLsizei int bufSize,
@OutParameter @GLsizei @Check(value = "1", canBeNull = true) IntBuffer length,
@OutParameter IntBuffer values);
}

View File

@ -0,0 +1,65 @@
/*
* Copyright (c) 2002-2008 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;
public interface ARB_texture_cube_map_array {
/**
* Accepted by the &lt;target&gt; parameter of TexParameteri, TexParameteriv,
* TexParameterf, TexParameterfv, BindTexture, and GenerateMipmap:
* <p/>
* Accepted by the &lt;target&gt; parameter of TexImage3D, TexSubImage3D,
* CompressedTeximage3D, CompressedTexSubImage3D and CopyTexSubImage3D:
* <p/>
* Accepted by the &lt;tex&gt; parameter of GetTexImage:
*/
int GL_TEXTURE_CUBE_MAP_ARRAY_ARB = 0x9009;
/**
* Accepted by the &lt;pname&gt; parameter of GetBooleanv, GetDoublev,
* GetIntegerv and GetFloatv:
*/
int GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB = 0x900A;
/**
* Accepted by the &lt;target&gt; parameter of TexImage3D, TexSubImage3D,
* CompressedTeximage3D, CompressedTexSubImage3D and CopyTexSubImage3D:
*/
int GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB = 0x900B;
/** Returned by the &lt;type&gt; parameter of GetActiveUniform: */
int GL_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900C;
int GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB = 0x900D;
int GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900E;
int GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900F;
}

View File

@ -0,0 +1,44 @@
/*
* Copyright (c) 2002-2008 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;
public interface ARB_texture_gather {
/**
* Accepted by the &lt;pname&gt; parameter of GetBooleanv, GetIntegerv,
* GetFloatv, and GetDoublev:
*/
int GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = 0x8E5E;
int GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = 0x8E5F;
int GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB = 0x8F9F;
}

View File

@ -0,0 +1,111 @@
/*
* Copyright (c) 2002-2008 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 org.lwjgl.util.generator.*;
import java.nio.FloatBuffer;
@Extension(postfix = "")
public interface ARB_texture_multisample {
/** Accepted by the &lt;pname&gt; parameter of GetMultisamplefv: */
int GL_SAMPLE_POSITION = 0x8E50;
/**
* Accepted by the &lt;cap&gt; parameter of Enable, Disable, and IsEnabled, and by
* the &lt;pname&gt; parameter of GetBooleanv, GetIntegerv, GetFloatv, and
* GetDoublev:
*/
int GL_SAMPLE_MASK = 0x8E51;
/**
* Accepted by the &lt;target&gt; parameter of GetBooleani_v and
* GetIntegeri_v:
*/
int GL_SAMPLE_MASK_VALUE = 0x8E52;
/**
* Accepted by the &lt;target&gt; parameter of BindTexture and
* TexImage2DMultisample:
*/
int GL_TEXTURE_2D_MULTISAMPLE = 0x9100;
/** Accepted by the &lt;target&gt; parameter of TexImage2DMultisample: */
int GL_PROXY_TEXTURE_2D_MULTISAMPLE = 0x9101;
/**
* Accepted by the &lt;target&gt; parameter of BindTexture and
* TexImage3DMultisample:
*/
int GL_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9102;
/** Accepted by the &lt;target&gt; parameter of TexImage3DMultisample: */
int GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9103;
/**
* Accepted by the &lt;pname&gt; parameter of GetBooleanv, GetDoublev, GetIntegerv,
* and GetFloatv:
*/
int GL_MAX_SAMPLE_MASK_WORDS = 0x8E59;
int GL_MAX_COLOR_TEXTURE_SAMPLES = 0x910E;
int GL_MAX_DEPTH_TEXTURE_SAMPLES = 0x910F;
int GL_MAX_INTEGER_SAMPLES = 0x9110;
int GL_TEXTURE_BINDING_2D_MULTISAMPLE = 0x9104;
int GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY = 0x9105;
/** Accepted by the &lt;pname&gt; parameter of GetTexLevelParameter */
int GL_TEXTURE_SAMPLES = 0x9106;
int GL_TEXTURE_FIXED_SAMPLE_LOCATIONS = 0x9107;
/** Returned by the &lt;type&gt; parameter of GetActiveUniform: */
int GL_SAMPLER_2D_MULTISAMPLE = 0x9108;
int GL_INT_SAMPLER_2D_MULTISAMPLE = 0x9109;
int GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = 0x910A;
int GL_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910B;
int GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910C;
int GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910D;
void glTexImage2DMultisample(@GLenum int target, @GLsizei int samples, int internalformat,
@GLsizei int width, @GLsizei int height,
boolean fixedsamplelocations);
void glTexImage3DMultisample(@GLenum int target, @GLsizei int samples, int internalformat,
@GLsizei int width, @GLsizei int height, @GLsizei int depth,
boolean fixedsamplelocations);
@StripPostfix("val")
void glGetMultisamplefv(@GLenum int pname, @GLuint int index, @OutParameter @Check("2") FloatBuffer val);
void glSampleMaski(@GLuint int index, @GLbitfield int mask);
}

View File

@ -0,0 +1,35 @@
/*
* Copyright (c) 2002-2008 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;
public interface ARB_texture_query_lod {
}

View File

@ -0,0 +1,42 @@
/*
* Copyright (c) 2002-2008 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;
public interface ARB_vertex_array_bgra {
/**
* Accepted by the &lt;size&gt; parameter of ColorPointer,
* SecondaryColorPointer, and VertexAttribPointer:
*/
int GL_BGRA = 0x80E1;
}

View File

@ -0,0 +1,49 @@
/*
* Copyright (c) 2002-2008 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 org.lwjgl.util.generator.*;
import java.nio.ByteBuffer;
public interface EXT_separate_shader_objects {
/** Accepted by &lt;type&gt; parameter to GetIntegerv and GetFloatv: */
int GL_ACTIVE_PROGRAM_EXT = 0x8B8D;
void glUseShaderProgramEXT(@GLenum int type, @GLuint int program);
void glActiveProgramEXT(@GLuint int program);
@GLuint int glCreateShaderProgramEXT(@GLenum int type, @NullTerminated @Const @GLchar ByteBuffer string);
}

View File

@ -0,0 +1,70 @@
/*
* Copyright (c) 2002-2008 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;
public interface EXT_texture_snorm {
/**
* Accepted by the &lt;internalFormat&gt; parameter of TexImage1D,
* TexImage2D, and TexImage3D:
*/
int GL_RED_SNORM = 0x8F90;
int GL_RG_SNORM = 0x8F91;
int GL_RGB_SNORM = 0x8F92;
int GL_RGBA_SNORM = 0x8F93;
int GL_ALPHA_SNORM = 0x9010;
int GL_LUMINANCE_SNORM = 0x9011;
int GL_LUMINANCE_ALPHA_SNORM = 0x9012;
int GL_INTENSITY_SNORM = 0x9013;
int GL_R8_SNORM = 0x8F94;
int GL_RG8_SNORM = 0x8F95;
int GL_RGB8_SNORM = 0x8F96;
int GL_RGBA8_SNORM = 0x8F97;
int GL_ALPHA8_SNORM = 0x9014;
int GL_LUMINANCE8_SNORM = 0x9015;
int GL_LUMINANCE8_ALPHA8_SNORM = 0x9016;
int GL_INTENSITY8_SNORM = 0x9017;
int GL_R16_SNORM = 0x8F98;
int GL_RG16_SNORM = 0x8F99;
int GL_RGB16_SNORM = 0x8F9A;
int GL_RGBA16_SNORM = 0x8F9B;
int GL_ALPHA16_SNORM = 0x9018;
int GL_LUMINANCE16_SNORM = 0x9019;
int GL_LUMINANCE16_ALPHA16_SNORM = 0x901A;
int GL_INTENSITY16_SNORM = 0x901B;
/** Returned by GetTexLevelParmeter */
int GL_SIGNED_NORMALIZED = 0x8F9C;
}

View File

@ -0,0 +1,318 @@
/*
* Copyright (c) 2002-2008 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 org.lwjgl.util.generator.*;
import java.nio.Buffer;
import java.nio.FloatBuffer;
import java.nio.LongBuffer;
import java.nio.IntBuffer;
public interface GL32 {
// ----------------------------------------------------------
// ----------------------[ OpenGL 3.2 ]----------------------
// ----------------------------------------------------------
int GL_MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122;
int GL_MAX_GEOMETRY_INPUT_COMPONENTS = 0x9123;
int GL_MAX_GEOMETRY_OUTPUT_COMPONENTS = 0x9124;
int GL_MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125;
// ---------------------------------------------------------------------
// ----------------------[ ARB_vertex_array_bgra ]----------------------
// ---------------------------------------------------------------------
int GL_BGRA = 0x80E1;
// -----------------------------------------------------------------------------
// ----------------------[ ARB_draw_elements_base_vertex ]----------------------
// -----------------------------------------------------------------------------
void glDrawElementsBaseVertex(@GLenum int mode, @AutoSize("indices") @GLsizei int count, @AutoType("indices") @GLenum int type,
@BufferObject(BufferKind.ElementVBO)
@Const
@GLubyte
@GLushort
@GLuint Buffer indices, int basevertex);
void glDrawRangeElementsBaseVertex(@GLenum int mode, @GLuint int start, @GLuint int end, @AutoSize("indices") @GLsizei int count, @AutoType("indices") @GLenum int type,
@BufferObject(BufferKind.ElementVBO)
@Const
@GLubyte
@GLushort
@GLuint Buffer indices, int basevertex);
void glDrawElementsInstancedBaseVertex(@GLenum int mode, @AutoSize("indices") @GLsizei int count, @AutoType("indices") @GLenum int type,
@BufferObject(BufferKind.ElementVBO)
@Const
@GLubyte
@GLushort
@GLuint Buffer indices, @GLsizei int primcount, int basevertex);
//void glMultiDrawElementsBaseVertex(@GLenum int mode, @GLsizei*count, @GLenum int type, void**indices, @GLsizei int primcount, int*basevertex)
// --------------------------------------------------------------------
// ----------------------[ ARB_provoking_vertex ]----------------------
// --------------------------------------------------------------------
/** Accepted by the &lt;mode&gt; parameter of ProvokingVertex: */
int GL_FIRST_VERTEX_CONVENTION = 0x8E4D;
int GL_LAST_VERTEX_CONVENTION = 0x8E4E;
/**
* Accepted by the &lt;pname&gt; parameter of GetBooleanv, GetIntegerv,
* GetFloatv, and GetDoublev:
*/
int GL_PROVOKING_VERTEX = 0x8E4F;
int GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION = 0x8E4C;
void glProvokingVertex(@GLenum int mode);
// ---------------------------------------------------------------------
// ----------------------[ ARB_seamless_cube_map ]----------------------
// ---------------------------------------------------------------------
/**
* Accepted by the &lt;cap&gt; parameter of Enable, Disable and IsEnabled,
* and by the &lt;pname&gt; parameter of GetBooleanv, GetIntegerv, GetFloatv
* and GetDoublev:
*/
int GL_TEXTURE_CUBE_MAP_SEAMLESS = 0x884F;
// -----------------------------------------------------------------------
// ----------------------[ ARB_texture_multisample ]----------------------
// -----------------------------------------------------------------------
/** Accepted by the &lt;pname&gt; parameter of GetMultisamplefv: */
int GL_SAMPLE_POSITION = 0x8E50;
/**
* Accepted by the &lt;cap&gt; parameter of Enable, Disable, and IsEnabled, and by
* the &lt;pname&gt; parameter of GetBooleanv, GetIntegerv, GetFloatv, and
* GetDoublev:
*/
int GL_SAMPLE_MASK = 0x8E51;
/**
* Accepted by the &lt;target&gt; parameter of GetBooleani_v and
* GetIntegeri_v:
*/
int GL_SAMPLE_MASK_VALUE = 0x8E52;
/**
* Accepted by the &lt;target&gt; parameter of BindTexture and
* TexImage2DMultisample:
*/
int GL_TEXTURE_2D_MULTISAMPLE = 0x9100;
/** Accepted by the &lt;target&gt; parameter of TexImage2DMultisample: */
int GL_PROXY_TEXTURE_2D_MULTISAMPLE = 0x9101;
/**
* Accepted by the &lt;target&gt; parameter of BindTexture and
* TexImage3DMultisample:
*/
int GL_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9102;
/** Accepted by the &lt;target&gt; parameter of TexImage3DMultisample: */
int GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9103;
/**
* Accepted by the &lt;pname&gt; parameter of GetBooleanv, GetDoublev, GetIntegerv,
* and GetFloatv:
*/
int GL_MAX_SAMPLE_MASK_WORDS = 0x8E59;
int GL_MAX_COLOR_TEXTURE_SAMPLES = 0x910E;
int GL_MAX_DEPTH_TEXTURE_SAMPLES = 0x910F;
int GL_MAX_INTEGER_SAMPLES = 0x9110;
int GL_TEXTURE_BINDING_2D_MULTISAMPLE = 0x9104;
int GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY = 0x9105;
/** Accepted by the &lt;pname&gt; parameter of GetTexLevelParameter */
int GL_TEXTURE_SAMPLES = 0x9106;
int GL_TEXTURE_FIXED_SAMPLE_LOCATIONS = 0x9107;
/** Returned by the &lt;type&gt; parameter of GetActiveUniform: */
int GL_SAMPLER_2D_MULTISAMPLE = 0x9108;
int GL_INT_SAMPLER_2D_MULTISAMPLE = 0x9109;
int GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = 0x910A;
int GL_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910B;
int GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910C;
int GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910D;
void glTexImage2DMultisample(@GLenum int target, @GLsizei int samples, int internalformat,
@GLsizei int width, @GLsizei int height,
boolean fixedsamplelocations);
void glTexImage3DMultisample(@GLenum int target, @GLsizei int samples, int internalformat,
@GLsizei int width, @GLsizei int height, @GLsizei int depth,
boolean fixedsamplelocations);
@StripPostfix("val")
void glGetMultisamplefv(@GLenum int pname, @GLuint int index, @OutParameter @Check("2") FloatBuffer val);
void glSampleMaski(@GLuint int index, @GLbitfield int mask);
// ---------------------------------------------------------------
// ----------------------[ ARB_depth_clamp ]----------------------
// ---------------------------------------------------------------
/**
* Accepted by the &lt;cap&gt; parameter of Enable, Disable, and IsEnabled,
* and by the &lt;pname&gt; parameter of GetBooleanv, GetIntegerv,
* GetFloatv, and GetDoublev:
*/
int GL_DEPTH_CLAMP = 0x864F;
// --------------------------------------------------------------------
// ----------------------[ ARB_geometry_shader4 ]----------------------
// --------------------------------------------------------------------
/**
* Accepted by the &lt;type&gt; parameter of CreateShader and returned by the
* &lt;params&gt; parameter of GetShaderiv:
*/
int GL_GEOMETRY_SHADER = 0x8DD9;
/**
* Accepted by the &lt;pname&gt; parameter of ProgramParameteriEXT and
* GetProgramiv:
*/
int GL_GEOMETRY_VERTICES_OUT = 0x8DDA;
int GL_GEOMETRY_INPUT_TYPE = 0x8DDB;
int GL_GEOMETRY_OUTPUT_TYPE = 0x8DDC;
/**
* Accepted by the &lt;pname&gt; parameter of GetBooleanv, GetIntegerv,
* GetFloatv, and GetDoublev:
*/
int GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS = 0x8C29;
//int GL_MAX_GEOMETRY_VARYING_COMPONENTS = 0x8DDD; -- Missing from 3.2 spec
//int GL_MAX_VERTEX_VARYING_COMPONENTS = 0x8DDE; -- Missing from 3.2 spec
int GL_MAX_VARYING_COMPONENTS = 0x8B4B;
int GL_MAX_GEOMETRY_UNIFORM_COMPONENTS = 0x8DDF;
int GL_MAX_GEOMETRY_OUTPUT_VERTICES = 0x8DE0;
int GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS = 0x8DE1;
/**
* Accepted by the &lt;mode&gt; parameter of Begin, DrawArrays,
* MultiDrawArrays, DrawElements, MultiDrawElements, and
* DrawRangeElements:
*/
int GL_LINES_ADJACENCY = 0xA;
int GL_LINE_STRIP_ADJACENCY = 0xB;
int GL_TRIANGLES_ADJACENCY = 0xC;
int GL_TRIANGLE_STRIP_ADJACENCY = 0xD;
/** Returned by CheckFramebufferStatusEXT: */
int GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS = 0x8DA8;
int GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT = 0x8DA9;
/**
* Accepted by the &lt;pname&gt; parameter of GetFramebufferAttachment-
* ParameterivEXT:
*/
int GL_FRAMEBUFFER_ATTACHMENT_LAYERED = 0x8DA7;
int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 0x8CD4;
/**
* Accepted by the &lt;cap&gt; parameter of Enable, Disable, and IsEnabled,
* and by the &lt;pname&gt; parameter of GetIntegerv, GetFloatv, GetDoublev,
* and GetBooleanv:
*/
int GL_PROGRAM_POINT_SIZE = 0x8642;
void glProgramParameteri(@GLuint int program, @GLenum int pname, int value);
void glFramebufferTexture(@GLenum int target, @GLenum int attachment, @GLuint int texture, int level);
void glFramebufferTextureLayer(@GLenum int target, @GLenum int attachment, @GLuint int texture, int level, int layer);
void glFramebufferTextureFace(@GLenum int target, @GLenum int attachment, @GLuint int texture, int level, @GLenum int face);
// --------------------------------------------------------
// ----------------------[ ARB_sync ]----------------------
// --------------------------------------------------------
/** Accepted as the &lt;pname&gt; parameter of GetInteger64v: */
int GL_MAX_SERVER_WAIT_TIMEOUT = 0x9111;
/** Accepted as the &lt;pname&gt; parameter of GetSynciv: */
int GL_OBJECT_TYPE = 0x9112;
int GL_SYNC_CONDITION = 0x9113;
int GL_SYNC_STATUS = 0x9114;
int GL_SYNC_FLAGS = 0x9115;
/** Returned in &lt;values&gt; for GetSynciv &lt;pname&gt; OBJECT_TYPE: */
int GL_SYNC_FENCE = 0x9116;
/** Returned in &lt;values&gt; for GetSynciv &lt;pname&gt; SYNC_CONDITION: */
int GL_SYNC_GPU_COMMANDS_COMPLETE = 0x9117;
/** Returned in &lt;values&gt; for GetSynciv &lt;pname&gt; SYNC_STATUS: */
int GL_UNSIGNALED = 0x9118;
int GL_SIGNALED = 0x9119;
/** Accepted in the &lt;flags&gt; parameter of ClientWaitSync: */
int GL_SYNC_FLUSH_COMMANDS_BIT = 0x00000001;
/** Accepted in the &lt;timeout&gt; parameter of WaitSync: */
long GL_TIMEOUT_IGNORED = 0xFFFFFFFFFFFFFFFFl;
/** Returned by ClientWaitSync: */
int GL_ALREADY_SIGNALED = 0x911A;
int GL_TIMEOUT_EXPIRED = 0x911B;
int GL_CONDITION_SATISFIED = 0x911C;
int GL_WAIT_FAILED = 0x911D;
/*
@GLsync long glFenceSync(@GLenum int condition, @GLbitfield int flags);
boolean glIsSync(@GLsync long sync);
void glDeleteSync(@GLsync long sync);
@GLenum int glClientWaitSync(@GLsync long sync, @GLbitfield int flags, @GLuint64 long timeout);
void glWaitSync(@GLsync long sync, @GLbitfield int flags, @GLuint64 long timeout);
@StripPostfix("params")
void glGetInteger64v(@GLenum int pname, @OutParameter @Check("1") @GLint64 LongBuffer params);
void glGetSynciv(@GLsync long sync, @GLenum int pname,
@AutoSize("values") @GLsizei int bufSize,
@OutParameter @GLsizei @Check(value = "1", canBeNull = true) IntBuffer length,
@OutParameter IntBuffer values);
*/
}

View File

@ -0,0 +1,49 @@
/*
* Copyright (c) 2002-2008 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 org.lwjgl.util.generator.GLenum;
import org.lwjgl.util.generator.GLsizei;
import org.lwjgl.util.generator.GLuint;
public interface NV_copy_image {
void glCopyImageSubDataNV(
@GLuint int srcName, @GLenum int srcTarget, int srcLevel,
int srcX, int srcY, int srcZ,
@GLuint int dstName, @GLenum int dstTarget, int dstLevel,
int dstX, int dstY, int dstZ,
@GLsizei int width, @GLsizei int height, @GLsizei int depth);
// TODO: Implement WGL and GLX cross-context copying.
}

View File

@ -0,0 +1,36 @@
/*
* Copyright (c) 2002-2008 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;
public interface NV_parameter_buffer_object2 {
}