2004-06-12 16:28:34 -04:00
|
|
|
/*
|
|
|
|
* Copyright (c) 2002-2004 LWJGL Project
|
|
|
|
* All rights reserved.
|
|
|
|
*
|
|
|
|
* Redistribution and use in source and binary forms, with or without
|
|
|
|
* modification, are permitted provided that the following conditions are
|
|
|
|
* met:
|
|
|
|
*
|
|
|
|
* * Redistributions of source code must retain the above copyright
|
|
|
|
* notice, this list of conditions and the following disclaimer.
|
|
|
|
*
|
|
|
|
* * Redistributions in binary form must reproduce the above copyright
|
|
|
|
* notice, this list of conditions and the following disclaimer in the
|
|
|
|
* documentation and/or other materials provided with the distribution.
|
|
|
|
*
|
|
|
|
* * Neither the name of 'LWJGL' nor the names of
|
|
|
|
* its contributors may be used to endorse or promote products derived
|
|
|
|
* from this software without specific prior written permission.
|
|
|
|
*
|
|
|
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
|
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
|
|
|
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
|
|
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
|
|
|
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
|
|
|
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
|
|
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
|
|
|
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
|
|
|
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
|
|
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
|
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
*/
|
2004-01-30 15:39:36 -05:00
|
|
|
|
|
|
|
// ----------------------------------
|
2004-02-08 15:41:00 -05:00
|
|
|
// IMPLEMENTATION OF NATIVE METHODS FOR CLASS: org.lwjgl.opengl.ARBShaderObjects
|
2004-01-30 15:39:36 -05:00
|
|
|
// ----------------------------------
|
|
|
|
|
2004-09-10 04:13:56 -04:00
|
|
|
#include <stdlib.h>
|
2004-01-30 15:39:36 -05:00
|
|
|
#include "extgl.h"
|
2004-03-07 11:01:45 -05:00
|
|
|
|
2004-01-30 15:39:36 -05:00
|
|
|
typedef unsigned char GLcharARB;
|
|
|
|
typedef unsigned int GLhandleARB;
|
|
|
|
|
|
|
|
typedef void (APIENTRY * glDeleteObjectARBPROC) (GLhandleARB obj);
|
|
|
|
typedef GLhandleARB (APIENTRY * glGetHandleARBPROC) (GLenum pname);
|
|
|
|
typedef void (APIENTRY * glDetachObjectARBPROC) (GLhandleARB containerObj, GLhandleARB attachedObj);
|
|
|
|
typedef GLhandleARB (APIENTRY * glCreateShaderObjectARBPROC) (GLenum shaderType);
|
|
|
|
typedef void (APIENTRY * glShaderSourceARBPROC) (GLhandleARB shaderObj, GLsizei count, const GLcharARB **string, const GLint *length);
|
|
|
|
typedef void (APIENTRY * glCompileShaderARBPROC) (GLhandleARB shaderObj);
|
|
|
|
typedef GLhandleARB (APIENTRY * glCreateProgramObjectARBPROC) (GLvoid);
|
|
|
|
typedef void (APIENTRY * glAttachObjectARBPROC) (GLhandleARB containerObj, GLhandleARB obj);
|
|
|
|
typedef void (APIENTRY * glLinkProgramARBPROC) (GLhandleARB programObj);
|
|
|
|
typedef void (APIENTRY * glUseProgramObjectARBPROC) (GLhandleARB programObj);
|
|
|
|
typedef void (APIENTRY * glValidateProgramARBPROC) (GLhandleARB programObj);
|
|
|
|
typedef void (APIENTRY * glUniform1fARBPROC) (GLint location, GLfloat v0);
|
|
|
|
typedef void (APIENTRY * glUniform2fARBPROC) (GLint location, GLfloat v0, GLfloat v1);
|
|
|
|
typedef void (APIENTRY * glUniform3fARBPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
|
|
|
|
typedef void (APIENTRY * glUniform4fARBPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
|
|
|
|
typedef void (APIENTRY * glUniform1iARBPROC) (GLint location, GLint v0);
|
|
|
|
typedef void (APIENTRY * glUniform2iARBPROC) (GLint location, GLint v0, GLint v1);
|
|
|
|
typedef void (APIENTRY * glUniform3iARBPROC) (GLint location, GLint v0, GLint v1, GLint v2);
|
|
|
|
typedef void (APIENTRY * glUniform4iARBPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
|
|
|
|
typedef void (APIENTRY * glUniform1fvARBPROC) (GLint location, GLsizei count, GLfloat *value);
|
|
|
|
typedef void (APIENTRY * glUniform2fvARBPROC) (GLint location, GLsizei count, GLfloat *value);
|
|
|
|
typedef void (APIENTRY * glUniform3fvARBPROC) (GLint location, GLsizei count, GLfloat *value);
|
|
|
|
typedef void (APIENTRY * glUniform4fvARBPROC) (GLint location, GLsizei count, GLfloat *value);
|
|
|
|
typedef void (APIENTRY * glUniform1ivARBPROC) (GLint location, GLsizei count, GLint *value);
|
|
|
|
typedef void (APIENTRY * glUniform2ivARBPROC) (GLint location, GLsizei count, GLint *value);
|
|
|
|
typedef void (APIENTRY * glUniform3ivARBPROC) (GLint location, GLsizei count, GLint *value);
|
|
|
|
typedef void (APIENTRY * glUniform4ivARBPROC) (GLint location, GLsizei count, GLint *value);
|
|
|
|
typedef void (APIENTRY * glUniformMatrix2fvARBPROC) (GLint location, GLsizei count, GLboolean transpose, GLfloat *value);
|
|
|
|
typedef void (APIENTRY * glUniformMatrix3fvARBPROC) (GLint location, GLsizei count, GLboolean transpose, GLfloat *value);
|
|
|
|
typedef void (APIENTRY * glUniformMatrix4fvARBPROC) (GLint location, GLsizei count, GLboolean transpose, GLfloat *value);
|
|
|
|
typedef void (APIENTRY * glGetObjectParameterfvARBPROC) (GLhandleARB obj, GLenum pname, GLfloat *params);
|
|
|
|
typedef void (APIENTRY * glGetObjectParameterivARBPROC) (GLhandleARB obj, GLenum pname, GLint *params);
|
|
|
|
typedef void (APIENTRY * glGetInfoLogARBPROC) (GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *infoLog);
|
|
|
|
typedef void (APIENTRY * glGetAttachedObjectsARBPROC) (GLhandleARB containerObj, GLsizei maxCount, GLsizei *count, GLhandleARB *obj);
|
|
|
|
typedef GLint (APIENTRY * glGetUniformLocationARBPROC) (GLhandleARB programObj, const GLcharARB *name);
|
|
|
|
typedef void (APIENTRY * glGetActiveUniformARBPROC) (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name);
|
|
|
|
typedef void (APIENTRY * glGetUniformfvARBPROC) (GLhandleARB programObj, GLint location, GLfloat *params);
|
|
|
|
typedef void (APIENTRY * glGetUniformivARBPROC) (GLhandleARB programObj, GLint location, GLint *params);
|
|
|
|
typedef void (APIENTRY * glGetShaderSourceARBPROC) (GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *source);
|
|
|
|
|
|
|
|
static glDeleteObjectARBPROC glDeleteObjectARB;
|
|
|
|
static glGetHandleARBPROC glGetHandleARB;
|
|
|
|
static glDetachObjectARBPROC glDetachObjectARB;
|
|
|
|
static glCreateShaderObjectARBPROC glCreateShaderObjectARB;
|
|
|
|
static glShaderSourceARBPROC glShaderSourceARB;
|
|
|
|
static glCompileShaderARBPROC glCompileShaderARB;
|
|
|
|
static glCreateProgramObjectARBPROC glCreateProgramObjectARB;
|
|
|
|
static glAttachObjectARBPROC glAttachObjectARB;
|
|
|
|
static glLinkProgramARBPROC glLinkProgramARB;
|
|
|
|
static glUseProgramObjectARBPROC glUseProgramObjectARB;
|
|
|
|
static glValidateProgramARBPROC glValidateProgramARB;
|
|
|
|
static glUniform1fARBPROC glUniform1fARB;
|
|
|
|
static glUniform2fARBPROC glUniform2fARB;
|
|
|
|
static glUniform3fARBPROC glUniform3fARB;
|
|
|
|
static glUniform4fARBPROC glUniform4fARB;
|
|
|
|
static glUniform1iARBPROC glUniform1iARB;
|
|
|
|
static glUniform2iARBPROC glUniform2iARB;
|
|
|
|
static glUniform3iARBPROC glUniform3iARB;
|
|
|
|
static glUniform4iARBPROC glUniform4iARB;
|
|
|
|
static glUniform1fvARBPROC glUniform1fvARB;
|
|
|
|
static glUniform2fvARBPROC glUniform2fvARB;
|
|
|
|
static glUniform3fvARBPROC glUniform3fvARB;
|
|
|
|
static glUniform4fvARBPROC glUniform4fvARB;
|
|
|
|
static glUniform1ivARBPROC glUniform1ivARB;
|
|
|
|
static glUniform2ivARBPROC glUniform2ivARB;
|
|
|
|
static glUniform3ivARBPROC glUniform3ivARB;
|
|
|
|
static glUniform4ivARBPROC glUniform4ivARB;
|
|
|
|
static glUniformMatrix2fvARBPROC glUniformMatrix2fvARB;
|
|
|
|
static glUniformMatrix3fvARBPROC glUniformMatrix3fvARB;
|
|
|
|
static glUniformMatrix4fvARBPROC glUniformMatrix4fvARB;
|
|
|
|
static glGetObjectParameterfvARBPROC glGetObjectParameterfvARB;
|
|
|
|
static glGetObjectParameterivARBPROC glGetObjectParameterivARB;
|
|
|
|
static glGetInfoLogARBPROC glGetInfoLogARB;
|
|
|
|
static glGetAttachedObjectsARBPROC glGetAttachedObjectsARB;
|
|
|
|
static glGetUniformLocationARBPROC glGetUniformLocationARB;
|
|
|
|
static glGetActiveUniformARBPROC glGetActiveUniformARB;
|
|
|
|
static glGetUniformfvARBPROC glGetUniformfvARB;
|
|
|
|
static glGetUniformivARBPROC glGetUniformivARB;
|
|
|
|
static glGetShaderSourceARBPROC glGetShaderSourceARB;
|
|
|
|
|
2004-09-10 04:13:56 -04:00
|
|
|
static int sourcesSize;
|
2004-02-27 03:29:42 -05:00
|
|
|
static int sourceCount;
|
2004-09-10 04:13:56 -04:00
|
|
|
static GLcharARB** sources = NULL;
|
|
|
|
static GLint* sourcesLengths = NULL;
|
2004-02-27 03:29:42 -05:00
|
|
|
|
2004-01-30 15:39:36 -05:00
|
|
|
/*
|
2004-02-08 15:41:00 -05:00
|
|
|
* Class: org.lwjgl.opengl.ARBShaderObjects
|
2004-01-30 15:39:36 -05:00
|
|
|
* Method: glDeleteObjectARB
|
|
|
|
*/
|
2004-03-07 10:41:10 -05:00
|
|
|
static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_glDeleteObjectARB
|
2004-01-30 15:39:36 -05:00
|
|
|
(JNIEnv * env, jclass clazz, jint obj)
|
|
|
|
{
|
|
|
|
glDeleteObjectARB(obj);
|
2004-03-07 11:01:45 -05:00
|
|
|
|
2004-01-30 15:39:36 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2004-02-08 15:41:00 -05:00
|
|
|
* Class: org.lwjgl.opengl.ARBShaderObjects
|
2004-01-30 15:39:36 -05:00
|
|
|
* Method: glGetHandleARB
|
|
|
|
*/
|
2004-03-07 10:41:10 -05:00
|
|
|
static jint JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_glGetHandleARB
|
2004-01-30 15:39:36 -05:00
|
|
|
(JNIEnv * env, jclass clazz, jint pname)
|
|
|
|
{
|
|
|
|
GLhandleARB result = glGetHandleARB(pname);
|
2004-03-07 11:01:45 -05:00
|
|
|
|
2004-01-30 15:39:36 -05:00
|
|
|
return result;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2004-02-08 15:41:00 -05:00
|
|
|
* Class: org.lwjgl.opengl.ARBShaderObjects
|
2004-01-30 15:39:36 -05:00
|
|
|
* Method: glDetachObjectARB
|
|
|
|
*/
|
2004-03-07 10:41:10 -05:00
|
|
|
static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_glDetachObjectARB
|
2004-01-30 15:39:36 -05:00
|
|
|
(JNIEnv * env, jclass clazz, jint containerObj, jint attachedObj)
|
|
|
|
{
|
|
|
|
glDetachObjectARB(containerObj, attachedObj);
|
2004-03-07 11:01:45 -05:00
|
|
|
|
2004-01-30 15:39:36 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2004-02-08 15:41:00 -05:00
|
|
|
* Class: org.lwjgl.opengl.ARBShaderObjects
|
2004-01-30 15:39:36 -05:00
|
|
|
* Method: glCreateShaderObjectARB
|
|
|
|
*/
|
2004-03-07 10:41:10 -05:00
|
|
|
static jint JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_glCreateShaderObjectARB
|
2004-01-30 15:39:36 -05:00
|
|
|
(JNIEnv * env, jclass clazz, jint shaderType)
|
|
|
|
{
|
|
|
|
GLhandleARB result = glCreateShaderObjectARB(shaderType);
|
2004-03-07 11:01:45 -05:00
|
|
|
|
2004-01-30 15:39:36 -05:00
|
|
|
return result;
|
|
|
|
}
|
|
|
|
|
2004-03-07 10:41:10 -05:00
|
|
|
static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_initShaderSource
|
2004-01-30 15:39:36 -05:00
|
|
|
(JNIEnv * env, jclass clazz, jint count)
|
|
|
|
{
|
|
|
|
sourceCount = count;
|
|
|
|
|
2004-09-10 04:13:56 -04:00
|
|
|
if ( sources == NULL || sourcesLengths == NULL || sourceCount > sourcesSize ) {
|
2004-01-30 15:39:36 -05:00
|
|
|
sourcesSize = sourceCount * 2;
|
2004-02-08 15:41:00 -05:00
|
|
|
|
2004-09-10 04:13:56 -04:00
|
|
|
if (sources != NULL)
|
|
|
|
free(sources);
|
|
|
|
if (sourcesLengths != NULL)
|
|
|
|
free(sourcesLengths);
|
2004-01-30 15:39:36 -05:00
|
|
|
|
2004-09-10 04:13:56 -04:00
|
|
|
sources = (GLcharARB**)malloc(sizeof(GLcharARB*)*sourcesSize);
|
|
|
|
sourcesLengths = (GLint*)malloc(sizeof(GLint)*sourcesSize);
|
2004-01-30 15:39:36 -05:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2004-02-08 15:41:00 -05:00
|
|
|
* Class: org.lwjgl.opengl.ARBShaderObjects
|
2004-01-30 15:39:36 -05:00
|
|
|
* Method: setShaderString
|
|
|
|
*/
|
2004-03-07 10:41:10 -05:00
|
|
|
static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_setShaderString
|
2004-01-30 15:39:36 -05:00
|
|
|
(JNIEnv * env, jclass clazz, jint index, jobject string, jint stringOffset, jint stringLength)
|
|
|
|
{
|
2004-09-10 04:13:56 -04:00
|
|
|
GLcharARB *string_ptr = (GLcharARB *)((GLubyte *)(*env)->GetDirectBufferAddress(env, string) + stringOffset);
|
2004-02-08 15:41:00 -05:00
|
|
|
|
2004-01-30 15:39:36 -05:00
|
|
|
sources[index] = string_ptr;
|
|
|
|
sourcesLengths[index] = stringLength;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2004-02-08 15:41:00 -05:00
|
|
|
* Class: org.lwjgl.opengl.ARBShaderObjects
|
2004-01-30 15:39:36 -05:00
|
|
|
* Method: nglShaderSourceARB
|
|
|
|
*/
|
2004-03-07 10:41:10 -05:00
|
|
|
static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglShaderSourceARB
|
2004-01-30 15:39:36 -05:00
|
|
|
(JNIEnv * env, jclass clazz, jint shaderObj)
|
|
|
|
{
|
|
|
|
glShaderSourceARB(shaderObj, sourceCount, (const GLcharARB **)sources, (const GLint *)sourcesLengths);
|
2004-03-07 11:01:45 -05:00
|
|
|
|
2004-01-30 15:39:36 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2004-02-08 15:41:00 -05:00
|
|
|
* Class: org.lwjgl.opengl.ARBShaderObjects
|
2004-01-30 15:39:36 -05:00
|
|
|
* Method: glCompileShaderARB
|
|
|
|
*/
|
2004-03-07 10:41:10 -05:00
|
|
|
static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_glCompileShaderARB
|
2004-01-30 15:39:36 -05:00
|
|
|
(JNIEnv * env, jclass clazz, jint shaderObj)
|
|
|
|
{
|
|
|
|
glCompileShaderARB(shaderObj);
|
2004-03-07 11:01:45 -05:00
|
|
|
|
2004-01-30 15:39:36 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2004-02-08 15:41:00 -05:00
|
|
|
* Class: org.lwjgl.opengl.ARBShaderObjects
|
2004-01-30 15:39:36 -05:00
|
|
|
* Method: glCreateProgramObjectARB
|
|
|
|
*/
|
2004-03-07 10:41:10 -05:00
|
|
|
static jint JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_glCreateProgramObjectARB
|
2004-01-30 15:39:36 -05:00
|
|
|
(JNIEnv * env, jclass clazz)
|
|
|
|
{
|
|
|
|
GLuint result = glCreateProgramObjectARB();
|
2004-03-07 11:01:45 -05:00
|
|
|
|
2004-01-30 15:39:36 -05:00
|
|
|
return result;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2004-02-08 15:41:00 -05:00
|
|
|
* Class: org.lwjgl.opengl.ARBShaderObjects
|
2004-01-30 15:39:36 -05:00
|
|
|
* Method: glAttachObjectARB
|
|
|
|
*/
|
2004-03-07 10:41:10 -05:00
|
|
|
static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_glAttachObjectARB
|
2004-01-30 15:39:36 -05:00
|
|
|
(JNIEnv * env, jclass clazz, jint containerObj, jint obj)
|
|
|
|
{
|
|
|
|
glAttachObjectARB(containerObj, obj);
|
2004-03-07 11:01:45 -05:00
|
|
|
|
2004-01-30 15:39:36 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2004-02-08 15:41:00 -05:00
|
|
|
* Class: org.lwjgl.opengl.ARBShaderObjects
|
2004-01-30 15:39:36 -05:00
|
|
|
* Method: glLinkProgramARB
|
|
|
|
*/
|
2004-03-07 10:41:10 -05:00
|
|
|
static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_glLinkProgramARB
|
2004-01-30 15:39:36 -05:00
|
|
|
(JNIEnv * env, jclass clazz, jint programObj)
|
|
|
|
{
|
|
|
|
glLinkProgramARB(programObj);
|
2004-03-07 11:01:45 -05:00
|
|
|
|
2004-01-30 15:39:36 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2004-02-08 15:41:00 -05:00
|
|
|
* Class: org.lwjgl.opengl.ARBShaderObjects
|
2004-01-30 15:39:36 -05:00
|
|
|
* Method: glUseProgramObjectARB
|
|
|
|
*/
|
2004-03-07 10:41:10 -05:00
|
|
|
static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_glUseProgramObjectARB
|
2004-01-30 15:39:36 -05:00
|
|
|
(JNIEnv * env, jclass clazz, jint programObj)
|
|
|
|
{
|
|
|
|
glUseProgramObjectARB(programObj);
|
2004-03-07 11:01:45 -05:00
|
|
|
|
2004-01-30 15:39:36 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2004-02-08 15:41:00 -05:00
|
|
|
* Class: org.lwjgl.opengl.ARBShaderObjects
|
2004-01-30 15:39:36 -05:00
|
|
|
* Method: glValidateProgramARB
|
|
|
|
*/
|
2004-03-07 10:41:10 -05:00
|
|
|
static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_glValidateProgramARB
|
2004-01-30 15:39:36 -05:00
|
|
|
(JNIEnv * env, jclass clazz, jint programObj)
|
|
|
|
{
|
|
|
|
glValidateProgramARB(programObj);
|
2004-03-07 11:01:45 -05:00
|
|
|
|
2004-01-30 15:39:36 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2004-02-08 15:41:00 -05:00
|
|
|
* Class: org.lwjgl.opengl.ARBShaderObjects
|
2004-01-30 15:39:36 -05:00
|
|
|
* Method: glUniform1fARB
|
|
|
|
*/
|
2004-03-07 10:41:10 -05:00
|
|
|
static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_glUniform1fARB
|
2004-01-30 15:39:36 -05:00
|
|
|
(JNIEnv * env, jclass clazz, jint location, jfloat v0)
|
|
|
|
{
|
|
|
|
glUniform1fARB(location, v0);
|
2004-03-07 11:01:45 -05:00
|
|
|
|
2004-01-30 15:39:36 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2004-02-08 15:41:00 -05:00
|
|
|
* Class: org.lwjgl.opengl.ARBShaderObjects
|
2004-01-30 15:39:36 -05:00
|
|
|
* Method: glUniform2fARB
|
|
|
|
*/
|
2004-03-07 10:41:10 -05:00
|
|
|
static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_glUniform2fARB
|
2004-01-30 15:39:36 -05:00
|
|
|
(JNIEnv * env, jclass clazz, jint location, jfloat v0, jfloat v1)
|
|
|
|
{
|
|
|
|
glUniform2fARB(location, v0, v1);
|
2004-03-07 11:01:45 -05:00
|
|
|
|
2004-01-30 15:39:36 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2004-02-08 15:41:00 -05:00
|
|
|
* Class: org.lwjgl.opengl.ARBShaderObjects
|
2004-01-30 15:39:36 -05:00
|
|
|
* Method: glUniform3fARB
|
|
|
|
*/
|
2004-03-07 10:41:10 -05:00
|
|
|
static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_glUniform3fARB
|
2004-01-30 15:39:36 -05:00
|
|
|
(JNIEnv * env, jclass clazz, jint location, jfloat v0, jfloat v1, jfloat v2)
|
|
|
|
{
|
|
|
|
glUniform3fARB(location, v0, v1, v2);
|
2004-03-07 11:01:45 -05:00
|
|
|
|
2004-01-30 15:39:36 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2004-02-08 15:41:00 -05:00
|
|
|
* Class: org.lwjgl.opengl.ARBShaderObjects
|
2004-01-30 15:39:36 -05:00
|
|
|
* Method: glUniform4fARB
|
|
|
|
*/
|
2004-03-07 10:41:10 -05:00
|
|
|
static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_glUniform4fARB
|
2004-01-30 15:39:36 -05:00
|
|
|
(JNIEnv * env, jclass clazz, jint location, jfloat v0, jfloat v1, jfloat v2, jfloat v3)
|
|
|
|
{
|
|
|
|
glUniform4fARB(location, v0, v1, v2, v3);
|
2004-03-07 11:01:45 -05:00
|
|
|
|
2004-01-30 15:39:36 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2004-02-08 15:41:00 -05:00
|
|
|
* Class: org.lwjgl.opengl.ARBShaderObjects
|
2004-01-30 15:39:36 -05:00
|
|
|
* Method: glUniform1iARB
|
|
|
|
*/
|
2004-03-07 10:41:10 -05:00
|
|
|
static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_glUniform1iARB
|
2004-01-30 15:39:36 -05:00
|
|
|
(JNIEnv * env, jclass clazz, jint location, jint v0)
|
|
|
|
{
|
|
|
|
glUniform1iARB(location, v0);
|
2004-03-07 11:01:45 -05:00
|
|
|
|
2004-01-30 15:39:36 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2004-02-08 15:41:00 -05:00
|
|
|
* Class: org.lwjgl.opengl.ARBShaderObjects
|
2004-01-30 15:39:36 -05:00
|
|
|
* Method: glUniform2iARB
|
|
|
|
*/
|
2004-03-07 10:41:10 -05:00
|
|
|
static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_glUniform2iARB
|
2004-01-30 15:39:36 -05:00
|
|
|
(JNIEnv * env, jclass clazz, jint location, jint v0, jint v1)
|
|
|
|
{
|
|
|
|
glUniform2iARB(location, v0, v1);
|
2004-03-07 11:01:45 -05:00
|
|
|
|
2004-01-30 15:39:36 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2004-02-08 15:41:00 -05:00
|
|
|
* Class: org.lwjgl.opengl.ARBShaderObjects
|
2004-01-30 15:39:36 -05:00
|
|
|
* Method: glUniform3iARB
|
|
|
|
*/
|
2004-03-07 10:41:10 -05:00
|
|
|
static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_glUniform3iARB
|
2004-01-30 15:39:36 -05:00
|
|
|
(JNIEnv * env, jclass clazz, jint location, jint v0, jint v1, jint v2)
|
|
|
|
{
|
|
|
|
glUniform3iARB(location, v0, v1, v2);
|
2004-03-07 11:01:45 -05:00
|
|
|
|
2004-01-30 15:39:36 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2004-02-08 15:41:00 -05:00
|
|
|
* Class: org.lwjgl.opengl.ARBShaderObjects
|
2004-01-30 15:39:36 -05:00
|
|
|
* Method: glUniform4iARB
|
|
|
|
*/
|
2004-03-07 10:41:10 -05:00
|
|
|
static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_glUniform4iARB
|
2004-01-30 15:39:36 -05:00
|
|
|
(JNIEnv * env, jclass clazz, jint location, jint v0, jint v1, jint v2, jint v3)
|
|
|
|
{
|
|
|
|
glUniform4iARB(location, v0, v1, v2, v3);
|
2004-03-07 11:01:45 -05:00
|
|
|
|
2004-01-30 15:39:36 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2004-02-08 15:41:00 -05:00
|
|
|
* Class: org.lwjgl.opengl.ARBShaderObjects
|
2004-01-30 15:39:36 -05:00
|
|
|
* Method: nglUniform1fvARB
|
|
|
|
*/
|
2004-03-07 10:41:10 -05:00
|
|
|
static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform1fvARB
|
2004-01-30 15:39:36 -05:00
|
|
|
(JNIEnv * env, jclass clazz, jint location, jint count, jobject values, jint valuesOffset)
|
|
|
|
{
|
2004-09-10 04:13:56 -04:00
|
|
|
GLfloat *values_ptr = (GLfloat *)(*env)->GetDirectBufferAddress(env, values) + valuesOffset;
|
2004-01-30 15:39:36 -05:00
|
|
|
glUniform1fvARB(location, count, values_ptr);
|
2004-03-07 11:01:45 -05:00
|
|
|
|
2004-01-30 15:39:36 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2004-02-08 15:41:00 -05:00
|
|
|
* Class: org.lwjgl.opengl.ARBShaderObjects
|
2004-01-30 15:39:36 -05:00
|
|
|
* Method: nglUniform2fvARB
|
|
|
|
*/
|
2004-03-07 10:41:10 -05:00
|
|
|
static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform2fvARB
|
2004-01-30 15:39:36 -05:00
|
|
|
(JNIEnv * env, jclass clazz, jint location, jint count, jobject values, jint valuesOffset)
|
|
|
|
{
|
2004-09-10 04:13:56 -04:00
|
|
|
GLfloat *values_ptr = (GLfloat *)(*env)->GetDirectBufferAddress(env, values) + valuesOffset;
|
2004-01-30 15:39:36 -05:00
|
|
|
glUniform2fvARB(location, count, values_ptr);
|
2004-03-07 11:01:45 -05:00
|
|
|
|
2004-01-30 15:39:36 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2004-02-08 15:41:00 -05:00
|
|
|
* Class: org.lwjgl.opengl.ARBShaderObjects
|
2004-01-30 15:39:36 -05:00
|
|
|
* Method: nglUniform3fvARB
|
|
|
|
*/
|
2004-03-07 10:41:10 -05:00
|
|
|
static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform3fvARB
|
2004-01-30 15:39:36 -05:00
|
|
|
(JNIEnv * env, jclass clazz, jint location, jint count, jobject values, jint valuesOffset)
|
|
|
|
{
|
2004-09-10 04:13:56 -04:00
|
|
|
GLfloat *values_ptr = (GLfloat *)(*env)->GetDirectBufferAddress(env, values) + valuesOffset;
|
2004-01-30 15:39:36 -05:00
|
|
|
glUniform3fvARB(location, count, values_ptr);
|
2004-03-07 11:01:45 -05:00
|
|
|
|
2004-01-30 15:39:36 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2004-02-08 15:41:00 -05:00
|
|
|
* Class: org.lwjgl.opengl.ARBShaderObjects
|
2004-01-30 15:39:36 -05:00
|
|
|
* Method: nglUniform4fvARB
|
|
|
|
*/
|
2004-03-07 10:41:10 -05:00
|
|
|
static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform4fvARB
|
2004-01-30 15:39:36 -05:00
|
|
|
(JNIEnv * env, jclass clazz, jint location, jint count, jobject values, jint valuesOffset)
|
|
|
|
{
|
2004-09-10 04:13:56 -04:00
|
|
|
GLfloat *values_ptr = (GLfloat *)(*env)->GetDirectBufferAddress(env, values) + valuesOffset;
|
2004-01-30 15:39:36 -05:00
|
|
|
glUniform4fvARB(location, count, values_ptr);
|
2004-03-07 11:01:45 -05:00
|
|
|
|
2004-01-30 15:39:36 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2004-02-08 15:41:00 -05:00
|
|
|
* Class: org.lwjgl.opengl.ARBShaderObjects
|
2004-01-30 15:39:36 -05:00
|
|
|
* Method: nglUniform1ivARB
|
|
|
|
*/
|
2004-03-07 10:41:10 -05:00
|
|
|
static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform1ivARB
|
2004-01-30 15:39:36 -05:00
|
|
|
(JNIEnv * env, jclass clazz, jint location, jint count, jobject values, jint valuesOffset)
|
|
|
|
{
|
2004-09-10 04:13:56 -04:00
|
|
|
GLint *values_ptr = (GLint *)(*env)->GetDirectBufferAddress(env, values) + valuesOffset;
|
2004-01-30 15:39:36 -05:00
|
|
|
glUniform1ivARB(location, count, values_ptr);
|
2004-03-07 11:01:45 -05:00
|
|
|
|
2004-01-30 15:39:36 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2004-02-08 15:41:00 -05:00
|
|
|
* Class: org.lwjgl.opengl.ARBShaderObjects
|
2004-01-30 15:39:36 -05:00
|
|
|
* Method: nglUniform2ivARB
|
|
|
|
*/
|
2004-03-07 10:41:10 -05:00
|
|
|
static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform2ivARB
|
2004-01-30 15:39:36 -05:00
|
|
|
(JNIEnv * env, jclass clazz, jint location, jint count, jobject values, jint valuesOffset)
|
|
|
|
{
|
2004-09-10 04:13:56 -04:00
|
|
|
GLint *values_ptr = (GLint *)(*env)->GetDirectBufferAddress(env, values) + valuesOffset;
|
2004-01-30 15:39:36 -05:00
|
|
|
glUniform2ivARB(location, count, values_ptr);
|
2004-03-07 11:01:45 -05:00
|
|
|
|
2004-01-30 15:39:36 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2004-02-08 15:41:00 -05:00
|
|
|
* Class: org.lwjgl.opengl.ARBShaderObjects
|
2004-01-30 15:39:36 -05:00
|
|
|
* Method: nglUniform3ivARB
|
|
|
|
*/
|
2004-03-07 10:41:10 -05:00
|
|
|
static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform3ivARB
|
2004-01-30 15:39:36 -05:00
|
|
|
(JNIEnv * env, jclass clazz, jint location, jint count, jobject values, jint valuesOffset)
|
|
|
|
{
|
2004-09-10 04:13:56 -04:00
|
|
|
GLint *values_ptr = (GLint *)(*env)->GetDirectBufferAddress(env, values) + valuesOffset;
|
2004-01-30 15:39:36 -05:00
|
|
|
glUniform3ivARB(location, count, values_ptr);
|
2004-03-07 11:01:45 -05:00
|
|
|
|
2004-01-30 15:39:36 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2004-02-08 15:41:00 -05:00
|
|
|
* Class: org.lwjgl.opengl.ARBShaderObjects
|
2004-01-30 15:39:36 -05:00
|
|
|
* Method: nglUniform4ivARB
|
|
|
|
*/
|
2004-03-07 10:41:10 -05:00
|
|
|
static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform4ivARB
|
2004-01-30 15:39:36 -05:00
|
|
|
(JNIEnv * env, jclass clazz, jint location, jint count, jobject values, jint valuesOffset)
|
|
|
|
{
|
2004-09-10 04:13:56 -04:00
|
|
|
GLint *values_ptr = (GLint *)(*env)->GetDirectBufferAddress(env, values) + valuesOffset;
|
2004-01-30 15:39:36 -05:00
|
|
|
glUniform4ivARB(location, count, values_ptr);
|
2004-03-07 11:01:45 -05:00
|
|
|
|
2004-01-30 15:39:36 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2004-02-08 15:41:00 -05:00
|
|
|
* Class: org.lwjgl.opengl.ARBShaderObjects
|
2004-01-30 15:39:36 -05:00
|
|
|
* Method: nglUniformMatrix2fvARB
|
|
|
|
*/
|
2004-03-07 10:41:10 -05:00
|
|
|
static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglUniformMatrix2fvARB
|
2004-01-30 15:39:36 -05:00
|
|
|
(JNIEnv * env, jclass clazz, jint location, jint count, jboolean transpose, jobject matrices, jint matricesOffset)
|
|
|
|
{
|
2004-09-10 04:13:56 -04:00
|
|
|
GLfloat *matrices_ptr = (GLfloat *)(*env)->GetDirectBufferAddress(env, matrices) + matricesOffset;
|
2004-01-30 15:39:36 -05:00
|
|
|
glUniformMatrix2fvARB(location, count, transpose, matrices_ptr);
|
2004-03-07 11:01:45 -05:00
|
|
|
|
2004-01-30 15:39:36 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2004-02-08 15:41:00 -05:00
|
|
|
* Class: org.lwjgl.opengl.ARBShaderObjects
|
2004-01-30 15:39:36 -05:00
|
|
|
* Method: nglUniformMatrix3fvARB
|
|
|
|
*/
|
2004-03-07 10:41:10 -05:00
|
|
|
static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglUniformMatrix3fvARB
|
2004-01-30 15:39:36 -05:00
|
|
|
(JNIEnv * env, jclass clazz, jint location, jint count, jboolean transpose, jobject matrices, jint matricesOffset)
|
|
|
|
{
|
2004-09-10 04:13:56 -04:00
|
|
|
GLfloat *matrices_ptr = (GLfloat *)(*env)->GetDirectBufferAddress(env, matrices) + matricesOffset;
|
2004-01-30 15:39:36 -05:00
|
|
|
glUniformMatrix3fvARB(location, count, transpose, matrices_ptr);
|
2004-03-07 11:01:45 -05:00
|
|
|
|
2004-01-30 15:39:36 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2004-02-08 15:41:00 -05:00
|
|
|
* Class: org.lwjgl.opengl.ARBShaderObjects
|
2004-01-30 15:39:36 -05:00
|
|
|
* Method: nglUniformMatrix4fvARB
|
|
|
|
*/
|
2004-03-07 10:41:10 -05:00
|
|
|
static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglUniformMatrix4fvARB
|
2004-01-30 15:39:36 -05:00
|
|
|
(JNIEnv * env, jclass clazz, jint location, jint count, jboolean transpose, jobject matrices, jint matricesOffset)
|
|
|
|
{
|
2004-09-10 04:13:56 -04:00
|
|
|
GLfloat *matrices_ptr = (GLfloat *)(*env)->GetDirectBufferAddress(env, matrices) + matricesOffset;
|
2004-01-30 15:39:36 -05:00
|
|
|
glUniformMatrix4fvARB(location, count, transpose, matrices_ptr);
|
2004-03-07 11:01:45 -05:00
|
|
|
|
2004-01-30 15:39:36 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2004-02-08 15:41:00 -05:00
|
|
|
* Class: org.lwjgl.opengl.ARBShaderObjects
|
2004-01-30 15:39:36 -05:00
|
|
|
* Method: nglGetObjectParameterfvARB
|
|
|
|
*/
|
2004-03-07 10:41:10 -05:00
|
|
|
static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglGetObjectParameterfvARB
|
2004-01-30 15:39:36 -05:00
|
|
|
(JNIEnv * env, jclass clazz, jint obj, jint pname, jobject params, jint paramsOffset)
|
|
|
|
{
|
2004-09-10 04:13:56 -04:00
|
|
|
GLfloat *params_ptr = (GLfloat *)(*env)->GetDirectBufferAddress(env, params) + paramsOffset;
|
2004-01-30 15:39:36 -05:00
|
|
|
glGetObjectParameterfvARB(obj, pname, params_ptr);
|
2004-03-07 11:01:45 -05:00
|
|
|
|
2004-01-30 15:39:36 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2004-02-08 15:41:00 -05:00
|
|
|
* Class: org.lwjgl.opengl.ARBShaderObjects
|
2004-01-30 15:39:36 -05:00
|
|
|
* Method: nglGetObjectParameterivARB
|
|
|
|
*/
|
2004-03-07 10:41:10 -05:00
|
|
|
static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglGetObjectParameterivARB
|
2004-01-30 15:39:36 -05:00
|
|
|
(JNIEnv * env, jclass clazz, jint obj, jint pname, jobject params, jint paramsOffset)
|
|
|
|
{
|
2004-09-10 04:13:56 -04:00
|
|
|
GLint *params_ptr = (GLint *)(*env)->GetDirectBufferAddress(env, params) + paramsOffset;
|
2004-01-30 15:39:36 -05:00
|
|
|
glGetObjectParameterivARB(obj, pname, params_ptr);
|
2004-03-07 11:01:45 -05:00
|
|
|
|
2004-01-30 15:39:36 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2004-02-08 15:41:00 -05:00
|
|
|
* Class: org.lwjgl.opengl.ARBShaderObjects
|
2004-01-30 15:39:36 -05:00
|
|
|
* Method: nglGetInfoLogARB
|
|
|
|
*/
|
2004-03-07 10:41:10 -05:00
|
|
|
static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglGetInfoLogARB
|
2004-01-30 15:39:36 -05:00
|
|
|
(JNIEnv * env, jclass clazz, jint obj, jint maxLength, jobject length, jint lengthOffset, jobject infoLog, jint infoLogOffset)
|
|
|
|
{
|
|
|
|
|
2004-09-10 04:13:56 -04:00
|
|
|
GLubyte *infoLog_ptr = (GLubyte *)(*env)->GetDirectBufferAddress(env, infoLog) + infoLogOffset;
|
2004-01-30 15:39:36 -05:00
|
|
|
|
|
|
|
if ( length == NULL ) {
|
|
|
|
glGetInfoLogARB(obj, maxLength, NULL, infoLog_ptr);
|
|
|
|
} else {
|
2004-09-10 04:13:56 -04:00
|
|
|
GLsizei *length_ptr = (GLsizei *)(*env)->GetDirectBufferAddress(env, length) + lengthOffset;
|
2004-01-30 15:39:36 -05:00
|
|
|
glGetInfoLogARB(obj, maxLength, length_ptr, infoLog_ptr);
|
|
|
|
}
|
|
|
|
|
2004-03-07 11:01:45 -05:00
|
|
|
|
2004-01-30 15:39:36 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2004-02-08 15:41:00 -05:00
|
|
|
* Class: org.lwjgl.opengl.ARBShaderObjects
|
2004-01-30 15:39:36 -05:00
|
|
|
* Method: nglGetAttachedObjectsARB
|
|
|
|
*/
|
2004-03-07 10:41:10 -05:00
|
|
|
static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglGetAttachedObjectsARB
|
2004-01-30 15:39:36 -05:00
|
|
|
(JNIEnv * env, jclass clazz, jint containerObj, jint maxCount, jobject count, jint countOffset, jobject obj, jint objOffset)
|
|
|
|
{
|
|
|
|
|
2004-09-10 04:13:56 -04:00
|
|
|
GLuint *obj_ptr = (GLuint *)(*env)->GetDirectBufferAddress(env, obj) + objOffset;
|
2004-01-30 15:39:36 -05:00
|
|
|
|
|
|
|
if ( count == NULL ) {
|
|
|
|
glGetAttachedObjectsARB(containerObj, maxCount, NULL, obj_ptr);
|
|
|
|
} else {
|
2004-09-10 04:13:56 -04:00
|
|
|
GLsizei *count_ptr = (GLsizei *)(*env)->GetDirectBufferAddress(env, count) + countOffset;
|
2004-01-30 15:39:36 -05:00
|
|
|
glGetAttachedObjectsARB(containerObj, maxCount, count_ptr, obj_ptr);
|
|
|
|
}
|
|
|
|
|
2004-03-07 11:01:45 -05:00
|
|
|
|
2004-01-30 15:39:36 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2004-02-08 15:41:00 -05:00
|
|
|
* Class: org.lwjgl.opengl.ARBShaderObjects
|
2004-01-30 15:39:36 -05:00
|
|
|
* Method: nglGetUniformLocationARB
|
|
|
|
*/
|
2004-03-07 10:41:10 -05:00
|
|
|
static jint JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglGetUniformLocationARB
|
2004-01-30 15:39:36 -05:00
|
|
|
(JNIEnv * env, jclass clazz, jint programObj, jobject name, jint nameOffset)
|
|
|
|
{
|
2004-09-10 04:13:56 -04:00
|
|
|
GLubyte *name_ptr = (GLubyte *)(*env)->GetDirectBufferAddress(env, name) + nameOffset;
|
2004-01-30 15:39:36 -05:00
|
|
|
GLuint result = glGetUniformLocationARB(programObj, name_ptr);
|
2004-03-07 11:01:45 -05:00
|
|
|
|
2004-01-30 15:39:36 -05:00
|
|
|
return result;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2004-02-08 15:41:00 -05:00
|
|
|
* Class: org.lwjgl.opengl.ARBShaderObjects
|
2004-01-30 15:39:36 -05:00
|
|
|
* Method: nglGetActiveUniformARB
|
|
|
|
*/
|
2004-03-07 10:41:10 -05:00
|
|
|
static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglGetActiveUniformARB
|
2004-01-30 15:39:36 -05:00
|
|
|
(JNIEnv * env, jclass clazz, jint programObj, jint index, jint maxLength, jobject length, jint lengthOffset, jobject size, jint sizeOffset, jobject type, jint typeOffset, jobject name, jint nameOffset)
|
|
|
|
{
|
|
|
|
|
2004-09-10 04:13:56 -04:00
|
|
|
GLint *size_ptr = (GLint *)(*env)->GetDirectBufferAddress(env, size) + sizeOffset;
|
|
|
|
GLenum *type_ptr = (GLenum *)(*env)->GetDirectBufferAddress(env, type) + typeOffset;
|
|
|
|
GLcharARB *name_ptr = (GLcharARB *)(*env)->GetDirectBufferAddress(env, name) + nameOffset;
|
2004-01-30 15:39:36 -05:00
|
|
|
|
|
|
|
if ( length == NULL ) {
|
|
|
|
glGetActiveUniformARB(programObj, index, maxLength, (GLsizei *)NULL, size_ptr, type_ptr, name_ptr);
|
|
|
|
} else {
|
2004-09-10 04:13:56 -04:00
|
|
|
GLsizei *length_ptr = (GLsizei *)(*env)->GetDirectBufferAddress(env, length) + lengthOffset;
|
2004-01-30 15:39:36 -05:00
|
|
|
glGetActiveUniformARB(programObj, index, maxLength, length_ptr, size_ptr, type_ptr, name_ptr);
|
|
|
|
}
|
|
|
|
|
2004-03-07 11:01:45 -05:00
|
|
|
|
2004-01-30 15:39:36 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2004-02-08 15:41:00 -05:00
|
|
|
* Class: org.lwjgl.opengl.ARBShaderObjects
|
2004-01-30 15:39:36 -05:00
|
|
|
* Method: nglGetUniformfvARB
|
|
|
|
*/
|
2004-03-07 10:41:10 -05:00
|
|
|
static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglGetUniformfvARB
|
2004-01-30 15:39:36 -05:00
|
|
|
(JNIEnv * env, jclass clazz, jint programObj, jint location, jobject params, jint paramsOffset)
|
|
|
|
{
|
2004-09-10 04:13:56 -04:00
|
|
|
GLfloat *params_ptr = (GLfloat *)(*env)->GetDirectBufferAddress(env, params) + paramsOffset;
|
2004-01-30 15:39:36 -05:00
|
|
|
glGetUniformfvARB(programObj, location, params_ptr);
|
2004-03-07 11:01:45 -05:00
|
|
|
|
2004-01-30 15:39:36 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2004-02-08 15:41:00 -05:00
|
|
|
* Class: org.lwjgl.opengl.ARBShaderObjects
|
2004-01-30 15:39:36 -05:00
|
|
|
* Method: nglGetUniformivARB
|
|
|
|
*/
|
2004-03-07 10:41:10 -05:00
|
|
|
static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglGetUniformivARB
|
2004-01-30 15:39:36 -05:00
|
|
|
(JNIEnv * env, jclass clazz, jint programObj, jint location, jobject params, jint paramsOffset)
|
|
|
|
{
|
2004-09-10 04:13:56 -04:00
|
|
|
GLint *params_ptr = (GLint *)(*env)->GetDirectBufferAddress(env, params) + paramsOffset;
|
2004-01-30 15:39:36 -05:00
|
|
|
glGetUniformivARB(programObj, location, params_ptr);
|
2004-03-07 11:01:45 -05:00
|
|
|
|
2004-01-30 15:39:36 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
2004-02-08 15:41:00 -05:00
|
|
|
* Class: org.lwjgl.opengl.ARBShaderObjects
|
2004-01-30 15:39:36 -05:00
|
|
|
* Method: nglGetShaderSourceARB
|
|
|
|
*/
|
2004-03-07 10:41:10 -05:00
|
|
|
static void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_nglGetShaderSourceARB
|
2004-01-30 15:39:36 -05:00
|
|
|
(JNIEnv * env, jclass clazz, jint obj, jint maxLength, jobject length, jint lengthOffset, jobject source, jint sourceOffset)
|
|
|
|
{
|
2004-09-10 04:13:56 -04:00
|
|
|
GLubyte *source_ptr = (GLubyte *)(*env)->GetDirectBufferAddress(env, source) + sourceOffset;
|
2004-01-30 15:39:36 -05:00
|
|
|
|
|
|
|
if ( length == NULL ) {
|
|
|
|
glGetShaderSourceARB(obj, maxLength, NULL, source_ptr);
|
|
|
|
} else {
|
2004-09-10 04:13:56 -04:00
|
|
|
GLint *length_ptr = (GLint *)(*env)->GetDirectBufferAddress(env, length) + lengthOffset;
|
2004-01-30 15:39:36 -05:00
|
|
|
glGetShaderSourceARB(obj, maxLength, length_ptr, source_ptr);
|
|
|
|
}
|
|
|
|
|
2004-03-07 11:01:45 -05:00
|
|
|
|
2004-01-30 15:39:36 -05:00
|
|
|
}
|
2004-03-07 10:18:47 -05:00
|
|
|
|
2004-09-10 04:13:56 -04:00
|
|
|
#ifdef __cplusplus
|
2004-07-03 17:12:33 -04:00
|
|
|
extern "C" {
|
2004-09-10 04:13:56 -04:00
|
|
|
#endif
|
2004-07-03 17:12:33 -04:00
|
|
|
JNIEXPORT void JNICALL Java_org_lwjgl_opengl_ARBShaderObjects_initNativeStubs(JNIEnv *env, jclass clazz) {
|
2004-03-09 04:25:10 -05:00
|
|
|
JavaMethodAndExtFunction functions[] = {
|
2004-09-10 04:13:56 -04:00
|
|
|
{"glDeleteObjectARB", "(I)V", (void*)&Java_org_lwjgl_opengl_ARBShaderObjects_glDeleteObjectARB, "glDeleteObjectARB", (void*)&glDeleteObjectARB},
|
|
|
|
{"glGetHandleARB", "(I)I", (void*)&Java_org_lwjgl_opengl_ARBShaderObjects_glGetHandleARB, "glGetHandleARB", (void*)&glGetHandleARB},
|
|
|
|
{"glDetachObjectARB", "(II)V", (void*)&Java_org_lwjgl_opengl_ARBShaderObjects_glDetachObjectARB, "glDetachObjectARB", (void*)&glDetachObjectARB},
|
|
|
|
{"glCreateShaderObjectARB", "(I)I", (void*)&Java_org_lwjgl_opengl_ARBShaderObjects_glCreateShaderObjectARB, "glCreateShaderObjectARB", (void*)&glCreateShaderObjectARB},
|
2004-03-07 10:18:47 -05:00
|
|
|
{"initShaderSource", "(I)V", (void*)&Java_org_lwjgl_opengl_ARBShaderObjects_initShaderSource, NULL, NULL},
|
|
|
|
{"setShaderString", "(ILjava/nio/ByteBuffer;II)V", (void*)&Java_org_lwjgl_opengl_ARBShaderObjects_setShaderString, NULL, NULL},
|
2004-09-10 04:13:56 -04:00
|
|
|
{"nglShaderSourceARB", "(I)V", (void*)&Java_org_lwjgl_opengl_ARBShaderObjects_nglShaderSourceARB, "glShaderSourceARB", (void*)&glShaderSourceARB},
|
|
|
|
{"glCompileShaderARB", "(I)V", (void*)&Java_org_lwjgl_opengl_ARBShaderObjects_glCompileShaderARB, "glCompileShaderARB", (void*)&glCompileShaderARB},
|
|
|
|
{"glCreateProgramObjectARB", "()I", (void*)&Java_org_lwjgl_opengl_ARBShaderObjects_glCreateProgramObjectARB, "glCreateProgramObjectARB", (void*)&glCreateProgramObjectARB},
|
|
|
|
{"glAttachObjectARB", "(II)V", (void*)&Java_org_lwjgl_opengl_ARBShaderObjects_glAttachObjectARB, "glAttachObjectARB", (void*)&glAttachObjectARB},
|
|
|
|
{"glLinkProgramARB", "(I)V", (void*)&Java_org_lwjgl_opengl_ARBShaderObjects_glLinkProgramARB, "glLinkProgramARB", (void*)&glLinkProgramARB},
|
|
|
|
{"glUseProgramObjectARB", "(I)V", (void*)&Java_org_lwjgl_opengl_ARBShaderObjects_glUseProgramObjectARB, "glUseProgramObjectARB", (void*)&glUseProgramObjectARB},
|
|
|
|
{"glValidateProgramARB", "(I)V", (void*)&Java_org_lwjgl_opengl_ARBShaderObjects_glValidateProgramARB, "glValidateProgramARB", (void*)&glValidateProgramARB},
|
|
|
|
{"glUniform1fARB", "(IF)V", (void*)&Java_org_lwjgl_opengl_ARBShaderObjects_glUniform1fARB, "glUniform1fARB", (void*)&glUniform1fARB},
|
|
|
|
{"glUniform2fARB", "(IFF)V", (void*)&Java_org_lwjgl_opengl_ARBShaderObjects_glUniform2fARB, "glUniform2fARB", (void*)&glUniform2fARB},
|
|
|
|
{"glUniform3fARB", "(IFFF)V", (void*)&Java_org_lwjgl_opengl_ARBShaderObjects_glUniform3fARB, "glUniform3fARB", (void*)&glUniform3fARB},
|
|
|
|
{"glUniform4fARB", "(IFFFF)V", (void*)&Java_org_lwjgl_opengl_ARBShaderObjects_glUniform4fARB, "glUniform4fARB", (void*)&glUniform4fARB},
|
|
|
|
{"glUniform1iARB", "(II)V", (void*)&Java_org_lwjgl_opengl_ARBShaderObjects_glUniform1iARB, "glUniform1iARB", (void*)&glUniform1iARB},
|
|
|
|
{"glUniform2iARB", "(III)V", (void*)&Java_org_lwjgl_opengl_ARBShaderObjects_glUniform2iARB, "glUniform2iARB", (void*)&glUniform2iARB},
|
|
|
|
{"glUniform3iARB", "(IIII)V", (void*)&Java_org_lwjgl_opengl_ARBShaderObjects_glUniform3iARB, "glUniform3iARB", (void*)&glUniform3iARB},
|
|
|
|
{"glUniform4iARB", "(IIIII)V", (void*)&Java_org_lwjgl_opengl_ARBShaderObjects_glUniform4iARB, "glUniform4iARB", (void*)&glUniform4iARB},
|
|
|
|
{"nglUniform1fvARB", "(IILjava/nio/FloatBuffer;I)V", (void*)&Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform1fvARB, "glUniform1fvARB", (void*)&glUniform1fvARB},
|
|
|
|
{"nglUniform2fvARB", "(IILjava/nio/FloatBuffer;I)V", (void*)&Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform2fvARB, "glUniform2fvARB", (void*)&glUniform2fvARB},
|
|
|
|
{"nglUniform3fvARB", "(IILjava/nio/FloatBuffer;I)V", (void*)&Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform3fvARB, "glUniform3fvARB", (void*)&glUniform3fvARB},
|
|
|
|
{"nglUniform4fvARB", "(IILjava/nio/FloatBuffer;I)V", (void*)&Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform4fvARB, "glUniform4fvARB", (void*)&glUniform4fvARB},
|
|
|
|
{"nglUniform1ivARB", "(IILjava/nio/IntBuffer;I)V", (void*)&Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform1ivARB, "glUniform1ivARB", (void*)&glUniform1ivARB},
|
|
|
|
{"nglUniform2ivARB", "(IILjava/nio/IntBuffer;I)V", (void*)&Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform2ivARB, "glUniform2ivARB", (void*)&glUniform2ivARB},
|
|
|
|
{"nglUniform3ivARB", "(IILjava/nio/IntBuffer;I)V", (void*)&Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform3ivARB, "glUniform3ivARB", (void*)&glUniform3ivARB},
|
|
|
|
{"nglUniform4ivARB", "(IILjava/nio/IntBuffer;I)V", (void*)&Java_org_lwjgl_opengl_ARBShaderObjects_nglUniform4ivARB, "glUniform4ivARB", (void*)&glUniform4ivARB},
|
|
|
|
{"nglUniformMatrix2fvARB", "(IIZLjava/nio/FloatBuffer;I)V", (void*)&Java_org_lwjgl_opengl_ARBShaderObjects_nglUniformMatrix2fvARB, "glUniformMatrix2fvARB", (void*)&glUniformMatrix2fvARB},
|
|
|
|
{"nglUniformMatrix3fvARB", "(IIZLjava/nio/FloatBuffer;I)V", (void*)&Java_org_lwjgl_opengl_ARBShaderObjects_nglUniformMatrix3fvARB, "glUniformMatrix3fvARB", (void*)&glUniformMatrix3fvARB},
|
|
|
|
{"nglUniformMatrix4fvARB", "(IIZLjava/nio/FloatBuffer;I)V", (void*)&Java_org_lwjgl_opengl_ARBShaderObjects_nglUniformMatrix4fvARB, "glUniformMatrix4fvARB", (void*)&glUniformMatrix4fvARB},
|
|
|
|
{"nglGetObjectParameterfvARB", "(IILjava/nio/FloatBuffer;I)V", (void*)&Java_org_lwjgl_opengl_ARBShaderObjects_nglGetObjectParameterfvARB, "glGetObjectParameterfvARB", (void*)&glGetObjectParameterfvARB},
|
|
|
|
{"nglGetObjectParameterivARB", "(IILjava/nio/IntBuffer;I)V", (void*)&Java_org_lwjgl_opengl_ARBShaderObjects_nglGetObjectParameterivARB, "glGetObjectParameterivARB", (void*)&glGetObjectParameterivARB},
|
|
|
|
{"nglGetInfoLogARB", "(IILjava/nio/IntBuffer;ILjava/nio/ByteBuffer;I)V", (void*)&Java_org_lwjgl_opengl_ARBShaderObjects_nglGetInfoLogARB, "glGetInfoLogARB", (void*)&glGetInfoLogARB},
|
|
|
|
{"nglGetAttachedObjectsARB", "(IILjava/nio/IntBuffer;ILjava/nio/IntBuffer;I)V", (void*)&Java_org_lwjgl_opengl_ARBShaderObjects_nglGetAttachedObjectsARB, "glGetAttachedObjectsARB", (void*)&glGetAttachedObjectsARB},
|
|
|
|
{"nglGetUniformLocationARB", "(ILjava/nio/ByteBuffer;I)I", (void*)&Java_org_lwjgl_opengl_ARBShaderObjects_nglGetUniformLocationARB, "glGetUniformLocationARB", (void*)&glGetUniformLocationARB},
|
|
|
|
{"nglGetActiveUniformARB", "(IIILjava/nio/IntBuffer;ILjava/nio/IntBuffer;ILjava/nio/IntBuffer;ILjava/nio/ByteBuffer;I)V", (void*)&Java_org_lwjgl_opengl_ARBShaderObjects_nglGetActiveUniformARB, "glGetActiveUniformARB", (void*)&glGetActiveUniformARB},
|
|
|
|
{"nglGetUniformfvARB", "(IILjava/nio/FloatBuffer;I)V", (void*)&Java_org_lwjgl_opengl_ARBShaderObjects_nglGetUniformfvARB, "glGetUniformfvARB", (void*)&glGetUniformfvARB},
|
|
|
|
{"nglGetUniformivARB", "(IILjava/nio/IntBuffer;I)V", (void*)&Java_org_lwjgl_opengl_ARBShaderObjects_nglGetUniformivARB, "glGetUniformivARB", (void*)&glGetUniformivARB},
|
|
|
|
{"nglGetShaderSourceARB", "(IILjava/nio/IntBuffer;ILjava/nio/ByteBuffer;I)V", (void*)&Java_org_lwjgl_opengl_ARBShaderObjects_nglGetShaderSourceARB, "glGetShaderSourceARB", (void*)&glGetShaderSourceARB}
|
2004-03-07 10:18:47 -05:00
|
|
|
};
|
|
|
|
int num_functions = NUMFUNCTIONS(functions);
|
2004-07-03 17:12:33 -04:00
|
|
|
extgl_InitializeClass(env, clazz, num_functions, functions);
|
|
|
|
}
|
2004-09-10 04:13:56 -04:00
|
|
|
#ifdef __cplusplus
|
2004-03-07 10:18:47 -05:00
|
|
|
}
|
2004-09-10 04:13:56 -04:00
|
|
|
#endif
|
2004-03-07 10:18:47 -05:00
|
|
|
|