From d7ff86a7d3bcedad61393532a6ae2c3a2698cc77 Mon Sep 17 00:00:00 2001 From: Elias Naur Date: Thu, 3 Apr 2003 11:32:32 +0000 Subject: [PATCH] Added support for ARB_vertex_buffer_object --- src/java/org/lwjgl/opengl/GL.java | 13 ++ .../opengl/arb/ARBVertexBufferObject.java | 77 ++++++++++ src/native/common/extgl.c | 38 ++++- src/native/common/extgl.h | 70 +++++++++ src/native/common/org_lwjgl_opengl_GL.cpp | 135 ++++++++++++++++++ src/native/common/org_lwjgl_opengl_GL.h | 92 +++++++++++- 6 files changed, 421 insertions(+), 4 deletions(-) create mode 100755 src/java/org/lwjgl/opengl/arb/ARBVertexBufferObject.java diff --git a/src/java/org/lwjgl/opengl/GL.java b/src/java/org/lwjgl/opengl/GL.java index 3caf9872..2e78e5ff 100644 --- a/src/java/org/lwjgl/opengl/GL.java +++ b/src/java/org/lwjgl/opengl/GL.java @@ -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; diff --git a/src/java/org/lwjgl/opengl/arb/ARBVertexBufferObject.java b/src/java/org/lwjgl/opengl/arb/ARBVertexBufferObject.java new file mode 100755 index 00000000..e8f4f9f5 --- /dev/null +++ b/src/java/org/lwjgl/opengl/arb/ARBVertexBufferObject.java @@ -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 + * @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; +} diff --git a/src/native/common/extgl.c b/src/native/common/extgl.c index 7839329e..446a761f 100644 --- a/src/native/common/extgl.c +++ b/src/native/common/extgl.c @@ -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(); diff --git a/src/native/common/extgl.h b/src/native/common/extgl.h index ddaffcdb..98eab4ed 100644 --- a/src/native/common/extgl.h +++ b/src/native/common/extgl.h @@ -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; diff --git a/src/native/common/org_lwjgl_opengl_GL.cpp b/src/native/common/org_lwjgl_opengl_GL.cpp index 718efd54..f3500d33 100644 --- a/src/native/common/org_lwjgl_opengl_GL.cpp +++ b/src/native/common/org_lwjgl_opengl_GL.cpp @@ -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 diff --git a/src/native/common/org_lwjgl_opengl_GL.h b/src/native/common/org_lwjgl_opengl_GL.h index b58d1013..424e5961 100644 --- a/src/native/common/org_lwjgl_opengl_GL.h +++ b/src/native/common/org_lwjgl_opengl_GL.h @@ -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