blob: 027529c8ae8e04cbbbc321fab9718d463bec8f09 [file] [log] [blame]
/*******************************************************************************
* Copyright 2011 See AUTHORS file.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
******************************************************************************/
package com.badlogic.gdx.backends.iosrobovm;
import java.nio.Buffer;
import java.nio.FloatBuffer;
import java.nio.IntBuffer;
import com.badlogic.gdx.graphics.GL20;
public class IOSGLES20 implements GL20
{
public IOSGLES20() {
init();
}
/** last viewport set, needed because GLKView resets the viewport on each call to render... amazing **/
public static int x, y, width, height;
private static native void init( );
public native void glActiveTexture ( int texture );
public native void glAttachShader ( int program, int shader );
public native void glBindAttribLocation ( int program, int index, String name );
public native void glBindBuffer ( int target, int buffer );
public native void glBindFramebuffer ( int target, int framebuffer );
public native void glBindRenderbuffer ( int target, int renderbuffer );
public native void glBindTexture ( int target, int texture );
public native void glBlendColor ( float red, float green, float blue, float alpha );
public native void glBlendEquation ( int mode );
public native void glBlendEquationSeparate ( int modeRGB, int modeAlpha );
public native void glBlendFunc ( int sfactor, int dfactor );
public native void glBlendFuncSeparate ( int srcRGB, int dstRGB, int srcAlpha, int dstAlpha );
public native void glBufferData ( int target, int size, Buffer data, int usage );
public native void glBufferSubData ( int target, int offset, int size, Buffer data );
public native int glCheckFramebufferStatus ( int target );
public native void glClear ( int mask );
public native void glClearColor ( float red, float green, float blue, float alpha );
public native void glClearDepthf ( float depth );
public native void glClearStencil ( int s );
public native void glColorMask ( boolean red, boolean green, boolean blue, boolean alpha );
public native void glCompileShader ( int shader );
public native void glCompressedTexImage2D ( int target, int level, int internalformat, int width, int height, int border, int imageSize, Buffer data );
public native void glCompressedTexSubImage2D ( int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, Buffer data );
public native void glCopyTexImage2D ( int target, int level, int internalformat, int x, int y, int width, int height, int border );
public native void glCopyTexSubImage2D ( int target, int level, int xoffset, int yoffset, int x, int y, int width, int height );
public native int glCreateProgram ( );
public native int glCreateShader ( int type );
public native void glCullFace ( int mode );
public native void glDeleteBuffers ( int n, IntBuffer buffers );
public native void glDeleteBuffer(int buffer);
public native void glDeleteFramebuffers ( int n, IntBuffer framebuffers );
public native void glDeleteFramebuffer(int framebuffer);
public native void glDeleteProgram ( int program );
public native void glDeleteRenderbuffers ( int n, IntBuffer renderbuffers );
public native void glDeleteRenderbuffer(int renderbuffer);
public native void glDeleteShader ( int shader );
public native void glDeleteTextures ( int n, IntBuffer textures );
public native void glDeleteTexture(int texture);
public native void glDepthFunc ( int func );
public native void glDepthMask ( boolean flag );
public native void glDepthRangef ( float zNear, float zFar );
public native void glDetachShader ( int program, int shader );
public native void glDisable ( int cap );
public native void glDisableVertexAttribArray ( int index );
public native void glDrawArrays ( int mode, int first, int count );
public native void glDrawElements ( int mode, int count, int type, Buffer indices );
public native void glDrawElements ( int mode, int count, int type, int indices );
public native void glEnable ( int cap );
public native void glEnableVertexAttribArray ( int index );
public native void glFinish ( );
public native void glFlush ( );
public native void glFramebufferRenderbuffer ( int target, int attachment, int renderbuffertarget, int renderbuffer );
public native void glFramebufferTexture2D ( int target, int attachment, int textarget, int texture, int level );
public native void glFrontFace ( int mode );
public native void glGenBuffers ( int n, IntBuffer buffers );
public native int glGenBuffer();
public native void glGenerateMipmap ( int target );
public native void glGenFramebuffers ( int n, IntBuffer framebuffers );
public native int glGenFramebuffer();
public native void glGenRenderbuffers ( int n, IntBuffer renderbuffers );
public native int glGenRenderbuffer();
public native void glGenTextures ( int n, IntBuffer textures );
public native int glGenTexture();
public native String glGetActiveAttrib ( int program, int index, IntBuffer size, Buffer type );
public native String glGetActiveUniform ( int program, int index, IntBuffer size, Buffer type );
public native void glGetAttachedShaders ( int program, int maxcount, Buffer count, IntBuffer shaders );
public native int glGetAttribLocation ( int program, String name );
public native void glGetBooleanv ( int pname, Buffer params );
public native void glGetBufferParameteriv ( int target, int pname, IntBuffer params );
public native int glGetError ( );
public native void glGetFloatv ( int pname, FloatBuffer params );
public native void glGetFramebufferAttachmentParameteriv ( int target, int attachment, int pname, IntBuffer params );
public native void glGetIntegerv ( int pname, IntBuffer params );
public native void glGetProgramiv ( int program, int pname, IntBuffer params );
public native String glGetProgramInfoLog ( int program );
public native void glGetRenderbufferParameteriv ( int target, int pname, IntBuffer params );
public native void glGetShaderiv ( int shader, int pname, IntBuffer params );
public native String glGetShaderInfoLog ( int shader );
public native void glGetShaderPrecisionFormat ( int shadertype, int precisiontype, IntBuffer range, IntBuffer precision );
public native void glGetShaderSource ( int shader, int bufsize, Buffer length, String source );
public native String glGetString ( int name );
public native void glGetTexParameterfv ( int target, int pname, FloatBuffer params );
public native void glGetTexParameteriv ( int target, int pname, IntBuffer params );
public native void glGetUniformfv ( int program, int location, FloatBuffer params );
public native void glGetUniformiv ( int program, int location, IntBuffer params );
public native int glGetUniformLocation ( int program, String name );
public native void glGetVertexAttribfv ( int index, int pname, FloatBuffer params );
public native void glGetVertexAttribiv ( int index, int pname, IntBuffer params );
public native void glGetVertexAttribPointerv ( int index, int pname, Buffer pointer );
public native void glHint ( int target, int mode );
public native boolean glIsBuffer ( int buffer );
public native boolean glIsEnabled ( int cap );
public native boolean glIsFramebuffer ( int framebuffer );
public native boolean glIsProgram ( int program );
public native boolean glIsRenderbuffer ( int renderbuffer );
public native boolean glIsShader ( int shader );
public native boolean glIsTexture ( int texture );
public native void glLineWidth ( float width );
public native void glLinkProgram ( int program );
public native void glPixelStorei ( int pname, int param );
public native void glPolygonOffset ( float factor, float units );
public native void glReadPixels ( int x, int y, int width, int height, int format, int type, Buffer pixels );
public native void glReleaseShaderCompiler ( );
public native void glRenderbufferStorage ( int target, int internalformat, int width, int height );
public native void glSampleCoverage ( float value, boolean invert );
public native void glScissor ( int x, int y, int width, int height );
public native void glShaderBinary ( int n, IntBuffer shaders, int binaryformat, Buffer binary, int length );
public native void glShaderSource ( int shader, String string );
public native void glStencilFunc ( int func, int ref, int mask );
public native void glStencilFuncSeparate ( int face, int func, int ref, int mask );
public native void glStencilMask ( int mask );
public native void glStencilMaskSeparate ( int face, int mask );
public native void glStencilOp ( int fail, int zfail, int zpass );
public native void glStencilOpSeparate ( int face, int fail, int zfail, int zpass );
public native void glTexImage2D ( int target, int level, int internalformat, int width, int height, int border, int format, int type, Buffer pixels );
public native void glTexParameterf ( int target, int pname, float param );
public native void glTexParameterfv ( int target, int pname, FloatBuffer params );
public native void glTexParameteri ( int target, int pname, int param );
public native void glTexParameteriv ( int target, int pname, IntBuffer params );
public native void glTexSubImage2D ( int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, Buffer pixels );
public native void glUniform1f ( int location, float x );
public native void glUniform1fv ( int location, int count, FloatBuffer v );
public native void glUniform1fv(int location, int count, float[] v, int offset);
public native void glUniform1i ( int location, int x );
public native void glUniform1iv ( int location, int count, IntBuffer v );
public native void glUniform1iv(int location, int count, int[] v, int offset);
public native void glUniform2f ( int location, float x, float y );
public native void glUniform2fv ( int location, int count, FloatBuffer v );
public native void glUniform2fv(int location, int count, float[] v, int offset);
public native void glUniform2i ( int location, int x, int y );
public native void glUniform2iv ( int location, int count, IntBuffer v );
public native void glUniform2iv(int location, int count, int[] v, int offset);
public native void glUniform3f ( int location, float x, float y, float z );
public native void glUniform3fv ( int location, int count, FloatBuffer v );
public native void glUniform3fv(int location, int count, float[] v, int offset);
public native void glUniform3i ( int location, int x, int y, int z );
public native void glUniform3iv ( int location, int count, IntBuffer v );
public native void glUniform3iv(int location, int count, int[] v, int offset);
public native void glUniform4f ( int location, float x, float y, float z, float w );
public native void glUniform4fv ( int location, int count, FloatBuffer v );
public native void glUniform4fv(int location, int count, float[] v, int offset);
public native void glUniform4i ( int location, int x, int y, int z, int w );
public native void glUniform4iv ( int location, int count, IntBuffer v );
public native void glUniform4iv(int location, int count, int[] v, int offset);
public native void glUniformMatrix2fv ( int location, int count, boolean transpose, FloatBuffer value );
public native void glUniformMatrix2fv(int location, int count, boolean transpose, float[] value, int offset);
public native void glUniformMatrix3fv ( int location, int count, boolean transpose, FloatBuffer value );
public native void glUniformMatrix3fv(int location, int count, boolean transpose, float[] value, int offset);
public native void glUniformMatrix4fv ( int location, int count, boolean transpose, FloatBuffer value );
public native void glUniformMatrix4fv(int location, int count, boolean transpose, float[] value, int offset);
public native void glUseProgram ( int program );
public native void glValidateProgram ( int program );
public native void glVertexAttrib1f ( int indx, float x );
public native void glVertexAttrib1fv ( int indx, FloatBuffer values );
public native void glVertexAttrib2f ( int indx, float x, float y );
public native void glVertexAttrib2fv ( int indx, FloatBuffer values );
public native void glVertexAttrib3f ( int indx, float x, float y, float z );
public native void glVertexAttrib3fv ( int indx, FloatBuffer values );
public native void glVertexAttrib4f ( int indx, float x, float y, float z, float w );
public native void glVertexAttrib4fv ( int indx, FloatBuffer values );
public native void glVertexAttribPointer ( int indx, int size, int type, boolean normalized, int stride, Buffer ptr );
public native void glVertexAttribPointer ( int indx, int size, int type, boolean normalized, int stride, int ptr );
public void glViewport(int x, int y, int width, int height) {
IOSGLES20.x = x;
IOSGLES20.y = y;
IOSGLES20.width = width;
IOSGLES20.height = height;
glViewportJni(x, y, width, height);
}
public native void glViewportJni ( int x, int y, int width, int height );
}