Added support for ARB_vertex_buffer_object

This commit is contained in:
Elias Naur 2003-04-03 11:32:32 +00:00
parent 267b868db7
commit d7ff86a7d3
6 changed files with 421 additions and 4 deletions

View File

@ -1481,6 +1481,18 @@ public class GL extends CoreGL implements GLConstants {
int outZ,
int outW);
public native void bindBufferARB(int target, int buffer);
public native void deleteBuffersARB(int n, int buffers);
public native void genBuffersARB(int n, int buffers);
public native boolean isBufferARB(int buffer);
public native void bufferDataARB(int target, int size, int data, int usage);
public native void bufferSubDataARB(int target, int offset, int size, int data);
public native void getBufferSubDataARB(int target, int offset, int size, int data);
public native int mapBufferARB(int target, int access);
public native boolean unmapBufferARB(int target);
public native void getBufferParameterivARB(int target, int pname, int params);
public native void getBufferPointervARB(int target, int pname, int params);
/*
* Available extensions
*/
@ -1503,6 +1515,7 @@ public class GL extends CoreGL implements GLConstants {
public boolean ARB_transpose_matrix;
public boolean ARB_vertex_blend;
public boolean ARB_vertex_program;
public boolean ARB_vertex_buffer_object;
public boolean ARB_window_pos;
public boolean EXT_abgr;
public boolean EXT_bgra;

View File

@ -0,0 +1,77 @@
/*
* Copyright (c) 2002 Lightweight Java Game Library 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 'Light Weight Java Game Library' 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.
*/
/**
* $Id$
*
* ARB_vertex_buffer_object constants.
*
* @author elias_naur <elias_naur@users.sourceforge.net>
* @version $Revision$
*/
package org.lwjgl.opengl.arb;
public interface ARBVertexBufferObject
{
public static final int ARRAY_BUFFER_ARB = 0x8892;
public static final int ELEMENT_ARRAY_BUFFER_ARB = 0x8893;
public static final int ARRAY_BUFFER_BINDING_ARB = 0x8894;
public static final int ELEMENT_ARRAY_BUFFER_BINDING_ARB = 0x8895;
public static final int VERTEX_ARRAY_BUFFER_BINDING_ARB = 0x8896;
public static final int NORMAL_ARRAY_BUFFER_BINDING_ARB = 0x8897;
public static final int COLOR_ARRAY_BUFFER_BINDING_ARB = 0x8898;
public static final int INDEX_ARRAY_BUFFER_BINDING_ARB = 0x8899;
public static final int TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB = 0x889A;
public static final int EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB = 0x889B;
public static final int SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB = 0x889C;
public static final int FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB = 0x889D;
public static final int WEIGHT_ARRAY_BUFFER_BINDING_ARB = 0x889E;
public static final int VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB = 0x889F;
public static final int STREAM_DRAW_ARB = 0x88E0;
public static final int STREAM_READ_ARB = 0x88E1;
public static final int STREAM_COPY_ARB = 0x88E2;
public static final int STATIC_DRAW_ARB = 0x88E4;
public static final int STATIC_READ_ARB = 0x88E5;
public static final int STATIC_COPY_ARB = 0x88E6;
public static final int DYNAMIC_DRAW_ARB = 0x88E8;
public static final int DYNAMIC_READ_ARB = 0x88E9;
public static final int DYNAMIC_COPY_ARB = 0x88EA;
public static final int READ_ONLY_ARB = 0x88B8;
public static final int WRITE_ONLY_ARB = 0x88B9;
public static final int READ_WRITE_ARB = 0x88BA;
public static final int BUFFER_SIZE_ARB = 0x8764;
public static final int BUFFER_USAGE_ARB = 0x8765;
public static final int BUFFER_ACCESS_ARB = 0x88BB;
public static final int BUFFER_MAPPED_ARB = 0x88BC;
public static final int BUFFER_MAP_POINTER_ARB = 0x88BD;
}

View File

@ -805,7 +805,22 @@ glGetFinalCombinerInputParameterfvNVPROC glGetFinalCombinerInputParameterfvNV =
glGetFinalCombinerInputParameterivNVPROC glGetFinalCombinerInputParameterivNV = NULL;
#endif /* GL_NV_register_combiners */
/* ARB_multisample */
/* ARB_vertex_buffer_object */
#ifdef GL_ARB_vertex_buffer_object
glBindBufferARBPROC glBindBufferARB = NULL;
glDeleteBuffersARBPROC glDeleteBuffersARB = NULL;
glGenBuffersARBPROC glGenBuffersARB = NULL;
glIsBufferARBPROC glIsBufferARB = NULL;
glBufferDataARBPROC glBufferDataARB = NULL;
glBufferSubDataARBPROC glBufferSubDataARB = NULL;
glGetBufferSubDataARBPROC glGetBufferSubDataARB = NULL;
glMapBufferARBPROC glMapBufferARB = NULL;
glUnmapBufferARBPROC glUnmapBufferARB = NULL;
glGetBufferParameterivARBPROC glGetBufferParameterivARB = NULL;
glGetBufferPointervARBPROC glGetBufferPointervARB = NULL;
#endif /* GL_ARB_vertex_buffer_object */
/* ARB_vertex_buffer_object */
#ifdef GL_ARB_multisample
glSampleCoverageARBPROC glSampleCoverageARB = NULL;
@ -1691,6 +1706,25 @@ void extgl_InitEXTCullVertex()
#endif
}
void extgl_InitARBVertexBufferObject()
{
#ifdef GL_ARB_vertex_buffer_object
if (!extgl_Extensions.ARB_vertex_buffer_object)
return;
glBindBufferARB = (glBindBufferARBPROC) extgl_GetProcAddress("glBindBufferARB");
glDeleteBuffersARB = (glDeleteBuffersARBPROC) extgl_GetProcAddress("glDeleteBuffersARB");
glGenBuffersARB = (glGenBuffersARBPROC) extgl_GetProcAddress("glGenBuffersARB");
glIsBufferARB = (glIsBufferARBPROC) extgl_GetProcAddress("glIsBufferARB");
glBufferDataARB = (glBufferDataARBPROC) extgl_GetProcAddress("glBufferDataARB");
glBufferSubDataARB = (glBufferSubDataARBPROC) extgl_GetProcAddress("glBufferSubDataARB");
glGetBufferSubDataARB = (glGetBufferSubDataARBPROC) extgl_GetProcAddress("glGetBufferSubDataARB");
glMapBufferARB = (glMapBufferARBPROC) extgl_GetProcAddress("glMapBufferARB");
glUnmapBufferARB = (glUnmapBufferARBPROC) extgl_GetProcAddress("glUnmapBufferARB");
glGetBufferParameterivARB = (glGetBufferParameterivARBPROC) extgl_GetProcAddress("glGetBufferParameterivARB");
glGetBufferPointervARB = (glGetBufferPointervARBPROC) extgl_GetProcAddress("glGetBufferPointervARB");
#endif
}
void extgl_InitARBVertexProgram()
{
#ifdef GL_ARB_vertex_program
@ -3097,6 +3131,7 @@ void extgl_InitSupportedExtensions()
extgl_Extensions.ARB_texture_mirrored_repeat = GLQueryExtension("GL_ARB_texture_mirrored_repeat");
extgl_Extensions.ARB_transpose_matrix = GLQueryExtension("GL_ARB_transpose_matrix");
extgl_Extensions.ARB_vertex_blend = GLQueryExtension("GL_ARB_vertex_blend");
extgl_Extensions.ARB_vertex_buffer_object = GLQueryExtension("GL_ARB_vertex_buffer_object");
extgl_Extensions.ARB_vertex_program = GLQueryExtension("GL_ARB_vertex_program");
extgl_Extensions.ARB_window_pos = GLQueryExtension("GL_ARB_window_pos");
extgl_Extensions.EXT_abgr = GLQueryExtension("GL_EXT_abgr");
@ -3206,6 +3241,7 @@ int extgl_Initialize()
extgl_InitEXTDrawRangeElements();
extgl_InitEXTStencilTwoSide();
extgl_InitARBVertexProgram();
extgl_InitARBVertexBufferObject();
extgl_InitEXTCullVertex();
extgl_InitEXTBlendFuncSeparate();
extgl_InitARBImaging();

View File

@ -67,6 +67,7 @@ THE POSSIBILITY OF SUCH DAMAGE.
http://www.uni-karlsruhe.de/~uli2/
*/
/* These extensions are supported:
GL_ARB_vertex_buffer_object
GL_ARB_depth_texture
GL_ARB_fragment_program
GL_ARB_imaging
@ -3243,6 +3244,74 @@ extern glGetFinalCombinerInputParameterivNVPROC glGetFinalCombinerInputParameter
#endif /* GL_NV_register_combiners */
/*-------------------------------------------------------------------*/
/*------------ARB_VERTEX_BUFFER_OBJECT----------------------------------------*/
/*-------------------------------------------------------------------*/
#ifndef GL_ARB_vertex_buffer_object
#define GL_ARB_vertex_buffer_object 1
#define GL_ARRAY_BUFFER_ARB 0x8892
#define GL_ELEMENT_ARRAY_BUFFER_ARB 0x8893
#define GL_ARRAY_BUFFER_BINDING_ARB 0x8894
#define GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB 0x8895
#define GL_VERTEX_ARRAY_BUFFER_BINDING_ARB 0x8896
#define GL_NORMAL_ARRAY_BUFFER_BINDING_ARB 0x8897
#define GL_COLOR_ARRAY_BUFFER_BINDING_ARB 0x8898
#define GL_INDEX_ARRAY_BUFFER_BINDING_ARB 0x8899
#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB 0x889A
#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB 0x889B
#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB 0x889C
#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB 0x889D
#define GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB 0x889E
#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB 0x889F
#define GL_STREAM_DRAW_ARB 0x88E0
#define GL_STREAM_READ_ARB 0x88E1
#define GL_STREAM_COPY_ARB 0x88E2
#define GL_STATIC_DRAW_ARB 0x88E4
#define GL_STATIC_READ_ARB 0x88E5
#define GL_STATIC_COPY_ARB 0x88E6
#define GL_DYNAMIC_DRAW_ARB 0x88E8
#define GL_DYNAMIC_READ_ARB 0x88E9
#define GL_DYNAMIC_COPY_ARB 0x88EA
#define GL_READ_ONLY_ARB 0x88B8
#define GL_WRITE_ONLY_ARB 0x88B9
#define GL_READ_WRITE_ARB 0x88BA
#define GL_BUFFER_SIZE_ARB 0x8764
#define GL_BUFFER_USAGE_ARB 0x8765
#define GL_BUFFER_ACCESS_ARB 0x88BB
#define GL_BUFFER_MAPPED_ARB 0x88BC
#define GL_BUFFER_MAP_POINTER_ARB 0x88BD
typedef int GLintptrARB;
typedef unsigned int GLsizeiptrARB;
typedef void (APIENTRY * glBindBufferARBPROC) (GLenum target, GLuint buffer);
typedef void (APIENTRY * glDeleteBuffersARBPROC) (GLsizei n, const GLuint *buffers);
typedef void (APIENTRY * glGenBuffersARBPROC) (GLsizei n, GLuint *buffers);
typedef GLboolean (APIENTRY * glIsBufferARBPROC) (GLuint buffer);
typedef void (APIENTRY * glBufferDataARBPROC) (GLenum target, GLsizeiptrARB size, const GLvoid *data, GLenum usage);
typedef void (APIENTRY * glBufferSubDataARBPROC) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid *data);
typedef void (APIENTRY * glGetBufferSubDataARBPROC) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid *data);
typedef void * (APIENTRY * glMapBufferARBPROC) (GLenum target, GLenum access);
typedef GLboolean (APIENTRY * glUnmapBufferARBPROC) (GLenum target);
typedef void (APIENTRY * glGetBufferParameterivARBPROC) (GLenum target, GLenum pname, GLint *params);
typedef void (APIENTRY * glGetBufferPointervARBPROC) (GLenum target, GLenum pname, GLvoid **params);
extern glBindBufferARBPROC glBindBufferARB;
extern glDeleteBuffersARBPROC glDeleteBuffersARB;
extern glGenBuffersARBPROC glGenBuffersARB;
extern glIsBufferARBPROC glIsBufferARB;
extern glBufferDataARBPROC glBufferDataARB;
extern glBufferSubDataARBPROC glBufferSubDataARB;
extern glGetBufferSubDataARBPROC glGetBufferSubDataARB;
extern glMapBufferARBPROC glMapBufferARB;
extern glUnmapBufferARBPROC glUnmapBufferARB;
extern glGetBufferParameterivARBPROC glGetBufferParameterivARB;
extern glGetBufferPointervARBPROC glGetBufferPointervARB;
#endif /* GL_ARB_vertex_buffer_object */
/*-------------------------------------------------------------------*/
/*------------ARB_MULTISAMPLE----------------------------------------*/
/*-------------------------------------------------------------------*/
@ -5786,6 +5855,7 @@ struct ExtensionTypes
int ARB_texture_mirrored_repeat;
int ARB_transpose_matrix;
int ARB_vertex_blend;
int ARB_vertex_buffer_object;
int ARB_vertex_program;
int ARB_window_pos;
int EXT_abgr;

View File

@ -4654,6 +4654,141 @@ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL_writeMaskEXT(JNIEnv * env, jobje
CHECK_GL_ERROR
}
/*
* Class: org_lwjgl_opengl_GL
* Method: bindBufferARB
* Signature: (II)V
*/
JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL_bindBufferARB(JNIEnv *env, jobject obj, jint target, jint buffer)
{
CHECK_EXISTS(glBindBufferARB)
glBindBufferARB((GLenum) target, (GLuint) buffer);
CHECK_GL_ERROR
}
/*
* Class: org_lwjgl_opengl_GL
* Method: deleteBuffersARB
* Signature: (II)V
*/
JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL_deleteBuffersARB(JNIEnv *env , jobject obj, jint n, jint buffers)
{
CHECK_EXISTS(glDeleteBuffersARB)
glDeleteBuffersARB((GLsizei)n, (const GLuint *)buffers);
CHECK_GL_ERROR
}
/*
* Class: org_lwjgl_opengl_GL
* Method: genBuffersARB
* Signature: (II)V
*/
JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL_genBuffersARB(JNIEnv *env, jobject obj, jint n, jint buffers)
{
CHECK_EXISTS(glGenBuffersARB)
glGenBuffersARB((GLsizei)n, (GLuint *)buffers);
CHECK_GL_ERROR
}
/*
* Class: org_lwjgl_opengl_GL
* Method: isBufferARB
* Signature: (I)Z
*/
JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_GL_isBufferARB(JNIEnv *env, jobject obj, jint buffer)
{
CHECK_EXISTS(glIsBufferARB)
jboolean ret = glIsBufferARB((GLuint)buffer);
CHECK_GL_ERROR
return ret;
}
/*
* Class: org_lwjgl_opengl_GL
* Method: bufferDataARB
* Signature: (IIII)V
*/
JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL_bufferDataARB(JNIEnv *env, jobject obj, jint target, jint size, jint data, jint usage)
{
CHECK_EXISTS(glBufferDataARB)
glBufferDataARB((GLenum)target, (GLsizeiptrARB)size, (const GLvoid *)data, (GLenum)usage);
CHECK_GL_ERROR
}
/*
* Class: org_lwjgl_opengl_GL
* Method: bufferSubDataARB
* Signature: (IIII)V
*/
JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL_bufferSubDataARB(JNIEnv *env, jobject obj, jint target, jint offset, jint size, jint data)
{
CHECK_EXISTS(glBufferSubDataARB)
glBufferSubDataARB((GLenum)target, (GLintptrARB)offset, (GLsizeiptrARB)size, (const GLvoid *)data);
CHECK_GL_ERROR
}
/*
* Class: org_lwjgl_opengl_GL
* Method: getBufferSubDataARB
* Signature: (IIII)V
*/
JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL_getBufferSubDataARB(JNIEnv *env, jobject obj, jint target, jint offset, jint size, jint data)
{
CHECK_EXISTS(glGetBufferSubDataARB)
glGetBufferSubDataARB((GLenum)target, (GLintptrARB)offset, (GLsizeiptrARB)size, (GLvoid *)data);
CHECK_GL_ERROR
}
/*
* Class: org_lwjgl_opengl_GL
* Method: mapBufferARB
* Signature: (II)I
*/
JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_GL_mapBufferARB(JNIEnv *env, jobject obj, jint target, jint access)
{
CHECK_EXISTS(glMapBufferARB)
jint ret = (jint)glMapBufferARB((GLenum)target, (GLenum)access);
CHECK_GL_ERROR
return ret;
}
/*
* Class: org_lwjgl_opengl_GL
* Method: unmapBufferARB
* Signature: (I)Z
*/
JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_GL_unmapBufferARB(JNIEnv *env, jobject obj, jint target)
{
CHECK_EXISTS(glUnmapBufferARB)
jboolean ret = glUnmapBufferARB((GLenum)target);
CHECK_GL_ERROR
return ret;
}
/*
* Class: org_lwjgl_opengl_GL
* Method: getBufferParameterivARB
* Signature: (III)V
*/
JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL_getBufferParameterivARB(JNIEnv *env, jobject obj, jint target, jint pname, jint params)
{
CHECK_EXISTS(glGetBufferParameterivARB)
glGetBufferParameterivARB((GLenum)target, (GLenum)pname, (GLint *)params);
CHECK_GL_ERROR
}
/*
* Class: org_lwjgl_opengl_GL
* Method: getBufferPointervARB
* Signature: (III)V
*/
JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL_getBufferPointervARB(JNIEnv *env, jobject obj, jint target, jint pname, jint params)
{
CHECK_EXISTS(glGetBufferPointervARB)
glGetBufferPointervARB((GLenum)target, (GLenum)pname, (GLvoid **)params);
CHECK_GL_ERROR
}
/*
* Class: org_lwjgl_opengl_GL
* Method: checkWGLExtensionsString

View File

@ -7,9 +7,7 @@
#ifdef __cplusplus
extern "C" {
#endif
/* Inaccessible static: _00024assertionsDisabled */
/* Inaccessible static: currentContext */
/* Inaccessible static: class_00024org_00024lwjgl_00024opengl_00024BaseGL */
/* Inaccessible static: currentWindow */
/* Inaccessible static: WGL_ARB_buffer_region */
/* Inaccessible static: WGL_ARB_extensions_string */
/* Inaccessible static: WGL_ARB_pbuffer */
@ -3370,6 +3368,94 @@ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL_windowPos3svARB
JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL_writeMaskEXT
(JNIEnv *, jobject, jint, jint, jint, jint, jint, jint);
/*
* Class: org_lwjgl_opengl_GL
* Method: bindBufferARB
* Signature: (II)V
*/
JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL_bindBufferARB
(JNIEnv *, jobject, jint, jint);
/*
* Class: org_lwjgl_opengl_GL
* Method: deleteBuffersARB
* Signature: (II)V
*/
JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL_deleteBuffersARB
(JNIEnv *, jobject, jint, jint);
/*
* Class: org_lwjgl_opengl_GL
* Method: genBuffersARB
* Signature: (II)V
*/
JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL_genBuffersARB
(JNIEnv *, jobject, jint, jint);
/*
* Class: org_lwjgl_opengl_GL
* Method: isBufferARB
* Signature: (I)Z
*/
JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_GL_isBufferARB
(JNIEnv *, jobject, jint);
/*
* Class: org_lwjgl_opengl_GL
* Method: bufferDataARB
* Signature: (IIII)V
*/
JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL_bufferDataARB
(JNIEnv *, jobject, jint, jint, jint, jint);
/*
* Class: org_lwjgl_opengl_GL
* Method: bufferSubDataARB
* Signature: (IIII)V
*/
JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL_bufferSubDataARB
(JNIEnv *, jobject, jint, jint, jint, jint);
/*
* Class: org_lwjgl_opengl_GL
* Method: getBufferSubDataARB
* Signature: (IIII)V
*/
JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL_getBufferSubDataARB
(JNIEnv *, jobject, jint, jint, jint, jint);
/*
* Class: org_lwjgl_opengl_GL
* Method: mapBufferARB
* Signature: (II)I
*/
JNIEXPORT jint JNICALL Java_org_lwjgl_opengl_GL_mapBufferARB
(JNIEnv *, jobject, jint, jint);
/*
* Class: org_lwjgl_opengl_GL
* Method: unmapBufferARB
* Signature: (I)Z
*/
JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_GL_unmapBufferARB
(JNIEnv *, jobject, jint);
/*
* Class: org_lwjgl_opengl_GL
* Method: getBufferParameterivARB
* Signature: (III)V
*/
JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL_getBufferParameterivARB
(JNIEnv *, jobject, jint, jint, jint);
/*
* Class: org_lwjgl_opengl_GL
* Method: getBufferPointervARB
* Signature: (III)V
*/
JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL_getBufferPointervARB
(JNIEnv *, jobject, jint, jint, jint);
/*
* Class: org_lwjgl_opengl_GL
* Method: checkWGLExtensionsString