From c84ab8669da7fce1c77ffe91a6b755ece4fefa30 Mon Sep 17 00:00:00 2001 From: Elias Naur Date: Mon, 17 Feb 2003 15:13:41 +0000 Subject: [PATCH] Added glMultiDrawArrays and glMultiDrawElements --- src/java/org/lwjgl/opengl/CoreGL.java | 11 ++++++++++ src/native/common/org_lwjgl_opengl_CoreGL.cpp | 21 +++++++++++++++++++ src/native/common/org_lwjgl_opengl_CoreGL.h | 16 ++++++++++++++ 3 files changed, 48 insertions(+) diff --git a/src/java/org/lwjgl/opengl/CoreGL.java b/src/java/org/lwjgl/opengl/CoreGL.java index 5bb7389a..8fab88fa 100644 --- a/src/java/org/lwjgl/opengl/CoreGL.java +++ b/src/java/org/lwjgl/opengl/CoreGL.java @@ -495,7 +495,18 @@ public class CoreGL extends BaseGL implements CoreGLConstants { public native void stencilOp(int fail, int zfail, int zpass); public native void stencilMask(int mask); public native void viewport(int x, int y, int width, int height); + public native void multiDrawArrays( + int mode, + int piFirst, + int piCount, + int primcount); + public native void multiDrawElements( + int mode, + int piCount, + int type, + int pIndices, + int primcount); } diff --git a/src/native/common/org_lwjgl_opengl_CoreGL.cpp b/src/native/common/org_lwjgl_opengl_CoreGL.cpp index 69859070..0d6254ee 100644 --- a/src/native/common/org_lwjgl_opengl_CoreGL.cpp +++ b/src/native/common/org_lwjgl_opengl_CoreGL.cpp @@ -3885,6 +3885,27 @@ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_CoreGL_getCompressedTexImage CHECK_GL_ERROR } +/* + * Class: org_lwjgl_opengl_CoreGL + * Method: multiDrawArrays + * Signature: (IIII)V + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_CoreGL_multiDrawArrays + (JNIEnv *, jobject, jint mode, jint first, jint count, jint primcount) { + glMultiDrawArrays(mode, (GLint *)first, (GLsizei *)count, primcount); +} + +/* + * Class: org_lwjgl_opengl_CoreGL + * Method: multiDrawElements + * Signature: (IIIII)V + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_CoreGL_multiDrawElements + (JNIEnv *, jobject, jint mode, jint count, jint type, jint indices, jint primcount) { + glMultiDrawElements(mode, (GLsizei *)count, type, (const void **)indices, primcount); +} + + /* * Class: org_lwjgl_opengl_CoreGL * Method: multiTexCoord1d diff --git a/src/native/common/org_lwjgl_opengl_CoreGL.h b/src/native/common/org_lwjgl_opengl_CoreGL.h index 1f8600e1..0e934664 100644 --- a/src/native/common/org_lwjgl_opengl_CoreGL.h +++ b/src/native/common/org_lwjgl_opengl_CoreGL.h @@ -3346,6 +3346,22 @@ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_CoreGL_stencilMask JNIEXPORT void JNICALL Java_org_lwjgl_opengl_CoreGL_viewport (JNIEnv *, jobject, jint, jint, jint, jint); +/* + * Class: org_lwjgl_opengl_CoreGL + * Method: multiDrawArrays + * Signature: (IIII)V + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_CoreGL_multiDrawArrays + (JNIEnv *, jobject, jint, jint, jint, jint); + +/* + * Class: org_lwjgl_opengl_CoreGL + * Method: multiDrawElements + * Signature: (IIIII)V + */ +JNIEXPORT void JNICALL Java_org_lwjgl_opengl_CoreGL_multiDrawElements + (JNIEnv *, jobject, jint, jint, jint, jint, jint); + #ifdef __cplusplus } #endif