GL30 from libGDX (#643)

This commit is contained in:
Gustl22 2019-01-26 21:46:07 +01:00 committed by Emux
parent f6af3d7410
commit f6f00c2521
No known key found for this signature in database
GPG Key ID: 64ED9980896038C3
5 changed files with 4346 additions and 0 deletions

View File

@ -0,0 +1,878 @@
/*
* Copyright 2019 Gustl22
*
* This file is part of the OpenScienceMap project (http://www.opensciencemap.org).
*
* This program is free software: you can redistribute it and/or modify it under the
* terms of the GNU Lesser General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
* PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
/*******************************************************************************
* Copyright 2014 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 org.oscim.gdx;
import android.annotation.SuppressLint;
import android.opengl.GLES30;
import org.oscim.backend.GL30;
/**
* See https://github.com/libgdx/libgdx/blob/master/backends/gdx-backend-android/src/com/badlogic/gdx/backends/android/AndroidGL30.java
*/
@SuppressLint("NewApi")
public class AndroidGL30 extends AndroidGL implements GL30 {
@Override
public void readBuffer(int mode) {
GLES30.glReadBuffer(mode);
}
@Override
public void drawRangeElements(int mode, int start, int end, int count, int type, java.nio.Buffer indices) {
GLES30.glDrawRangeElements(mode, start, end, count, type, indices);
}
@Override
public void drawRangeElements(int mode, int start, int end, int count, int type, int offset) {
GLES30.glDrawRangeElements(mode, start, end, count, type, offset);
}
@Override
public void texImage3D(int target, int level, int internalformat, int width, int height, int depth, int border, int format,
int type, java.nio.Buffer pixels) {
if (pixels == null)
GLES30.glTexImage3D(target, level, internalformat, width, height, depth, border, format, type, 0);
else
GLES30.glTexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels);
}
@Override
public void texImage3D(int target, int level, int internalformat, int width, int height, int depth, int border, int format,
int type, int offset) {
GLES30.glTexImage3D(target, level, internalformat, width, height, depth, border, format, type, offset);
}
@Override
public void texSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth,
int format, int type, java.nio.Buffer pixels) {
GLES30.glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
}
@Override
public void texSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth,
int format, int type, int offset) {
GLES30.glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, offset);
}
@Override
public void copyTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int x, int y, int width,
int height) {
GLES30.glCopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height);
}
//
// @Override
// public void compressedTexImage3D(int target, int level, int internalformat, int width, int height, int depth, int border, int
// imageSize, java.nio.Buffer data) {
// GLES30.glCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data);
// }
//
// @Override
// public void compressedTexImage3D(int target, int level, int internalformat, int width, int height, int depth, int border, int
// imageSize, int offset) {
// GLES30.glCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, offset);
// }
//
// @Override
// public void compressedTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int
// depth, int format, int imageSize, java.nio.Buffer data) {
// GLES30.glCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
// }
//
// @Override
// public void compressedTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int
// depth, int format, int imageSize, int offset) {
// GLES30.glCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, offset);
// }
@Override
public void genQueries(int n, int[] ids, int offset) {
GLES30.glGenQueries(n, ids, offset);
}
@Override
public void genQueries(int n, java.nio.IntBuffer ids) {
GLES30.glGenQueries(n, ids);
}
@Override
public void deleteQueries(int n, int[] ids, int offset) {
GLES30.glDeleteQueries(n, ids, offset);
}
@Override
public void deleteQueries(int n, java.nio.IntBuffer ids) {
GLES30.glDeleteQueries(n, ids);
}
@Override
public boolean isQuery(int id) {
return GLES30.glIsQuery(id);
}
@Override
public void beginQuery(int target, int id) {
GLES30.glBeginQuery(target, id);
}
@Override
public void endQuery(int target) {
GLES30.glEndQuery(target);
}
// @Override
// public void getQueryiv(int target, int pname, int[] params, int offset) {
// GLES30.glGetQueryiv(target, pname, params, offset);
// }
@Override
public void getQueryiv(int target, int pname, java.nio.IntBuffer params) {
GLES30.glGetQueryiv(target, pname, params);
}
// @Override
// public void getQueryObjectuiv(int id, int pname, int[] params, int offset) {
// GLES30.glGetQueryObjectuiv(id, pname, params, offset);
// }
@Override
public void getQueryObjectuiv(int id, int pname, java.nio.IntBuffer params) {
GLES30.glGetQueryObjectuiv(id, pname, params);
}
@Override
public boolean unmapBuffer(int target) {
return GLES30.glUnmapBuffer(target);
}
@Override
public java.nio.Buffer getBufferPointerv(int target, int pname) {
return GLES30.glGetBufferPointerv(target, pname);
}
// @Override
// public void drawBuffers(int n, int[] bufs, int offset) {
// GLES30.glDrawBuffers(n, bufs, offset);
// }
@Override
public void drawBuffers(int n, java.nio.IntBuffer bufs) {
GLES30.glDrawBuffers(n, bufs);
}
// @Override
// public void uniformMatrix2x3fv(int location, int count, boolean transpose, float[] value, int offset) {
// GLES30.glUniformMatrix2x3fv(location, count, transpose, value, offset);
// }
@Override
public void uniformMatrix2x3fv(int location, int count, boolean transpose, java.nio.FloatBuffer value) {
GLES30.glUniformMatrix2x3fv(location, count, transpose, value);
}
// @Override
// public void uniformMatrix3x2fv(int location, int count, boolean transpose, float[] value, int offset) {
// GLES30.glUniformMatrix3x2fv(location, count, transpose, value, offset);
// }
@Override
public void uniformMatrix3x2fv(int location, int count, boolean transpose, java.nio.FloatBuffer value) {
GLES30.glUniformMatrix3x2fv(location, count, transpose, value);
}
// @Override
// public void uniformMatrix2x4fv(int location, int count, boolean transpose, float[] value, int offset) {
// GLES30.glUniformMatrix2x4fv(location, count, transpose, value, offset);
// }
@Override
public void uniformMatrix2x4fv(int location, int count, boolean transpose, java.nio.FloatBuffer value) {
GLES30.glUniformMatrix2x4fv(location, count, transpose, value);
}
// @Override
// public void uniformMatrix4x2fv(int location, int count, boolean transpose, float[] value, int offset) {
// GLES30.glUniformMatrix4x2fv(location, count, transpose, value, offset);
// }
@Override
public void uniformMatrix4x2fv(int location, int count, boolean transpose, java.nio.FloatBuffer value) {
GLES30.glUniformMatrix4x2fv(location, count, transpose, value);
}
// @Override
// public void uniformMatrix3x4fv(int location, int count, boolean transpose, float[] value, int offset) {
// GLES30.glUniformMatrix3x4fv(location, count, transpose, value, offset);
// }
@Override
public void uniformMatrix3x4fv(int location, int count, boolean transpose, java.nio.FloatBuffer value) {
GLES30.glUniformMatrix3x4fv(location, count, transpose, value);
}
// @Override
// public void uniformMatrix4x3fv(int location, int count, boolean transpose, float[] value, int offset) {
// GLES30.glUniformMatrix4x3fv(location, count, transpose, value, offset);
// }
@Override
public void uniformMatrix4x3fv(int location, int count, boolean transpose, java.nio.FloatBuffer value) {
GLES30.glUniformMatrix4x3fv(location, count, transpose, value);
}
@Override
public void blitFramebuffer(int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0, int dstX1, int dstY1,
int mask, int filter) {
GLES30.glBlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
}
@Override
public void renderbufferStorageMultisample(int target, int samples, int internalformat, int width, int height) {
GLES30.glRenderbufferStorageMultisample(target, samples, internalformat, width, height);
}
@Override
public void framebufferTextureLayer(int target, int attachment, int texture, int level, int layer) {
GLES30.glFramebufferTextureLayer(target, attachment, texture, level, layer);
}
// @Override
// public java.nio.Buffer mapBufferRange(int target, int offset, int length, int access) {
// return GLES30.glMapBufferRange(target, offset, length, access);
// }
@Override
public void flushMappedBufferRange(int target, int offset, int length) {
GLES30.glFlushMappedBufferRange(target, offset, length);
}
@Override
public void bindVertexArray(int array) {
GLES30.glBindVertexArray(array);
}
@Override
public void deleteVertexArrays(int n, int[] arrays, int offset) {
GLES30.glDeleteVertexArrays(n, arrays, offset);
}
@Override
public void deleteVertexArrays(int n, java.nio.IntBuffer arrays) {
GLES30.glDeleteVertexArrays(n, arrays);
}
@Override
public void genVertexArrays(int n, int[] arrays, int offset) {
GLES30.glGenVertexArrays(n, arrays, offset);
}
@Override
public void genVertexArrays(int n, java.nio.IntBuffer arrays) {
GLES30.glGenVertexArrays(n, arrays);
}
@Override
public boolean isVertexArray(int array) {
return GLES30.glIsVertexArray(array);
}
// @Override
// public void getIntegeri_v(int target, int index, int[] data, int offset) {
// GLES30.glGetIntegeri_v(target, index, data, offset);
// }
// @Override
// public void getIntegeri_v(int target, int index, java.nio.IntBuffer data) {
// GLES30.glGetIntegeri_v(target, index, data);
// }
@Override
public void beginTransformFeedback(int primitiveMode) {
GLES30.glBeginTransformFeedback(primitiveMode);
}
@Override
public void endTransformFeedback() {
GLES30.glEndTransformFeedback();
}
@Override
public void bindBufferRange(int target, int index, int buffer, int offset, int size) {
GLES30.glBindBufferRange(target, index, buffer, offset, size);
}
@Override
public void bindBufferBase(int target, int index, int buffer) {
GLES30.glBindBufferBase(target, index, buffer);
}
@Override
public void transformFeedbackVaryings(int program, String[] varyings, int bufferMode) {
GLES30.glTransformFeedbackVaryings(program, varyings, bufferMode);
}
// @Override
// public void getTransformFeedbackVarying(int program, int index, int bufsize, int[] length, int lengthOffset, int[] size, int
// sizeOffset, int[] type, int typeOffset, byte[] name, int nameOffset) {
// GLES30.glGetTransformFeedbackVarying(program, index, bufsize, length, lengthOffset, size, sizeOffset, type, typeOffset, name,
// nameOffset);
// }
// @Override
// public void getTransformFeedbackVarying(int program, int index, int bufsize, java.nio.IntBuffer length, java.nio.IntBuffer
// size, java.nio.IntBuffer type, byte name) {
// GLES30.glGetTransformFeedbackVarying(program, index, bufsize, length, size, type, name);
// }
//
// @Override
// public String getTransformFeedbackVarying(int program, int index, int[] size, int sizeOffset, int[] type, int typeOffset) {
// return GLES30.glGetTransformFeedbackVarying(program, index, size, sizeOffset, type, typeOffset);
// }
//
// @Override
// public String getTransformFeedbackVarying(int program, int index, java.nio.IntBuffer size, java.nio.IntBuffer type) {
// return GLES30.glGetTransformFeedbackVarying(program, index, size, type);
// }
@Override
public void vertexAttribIPointer(int index, int size, int type, int stride, int offset) {
GLES30.glVertexAttribIPointer(index, size, type, stride, offset);
}
// @Override
// public void getVertexAttribIiv(int index, int pname, int[] params, int offset) {
// GLES30.glGetVertexAttribIiv(index, pname, params, offset);
// }
@Override
public void getVertexAttribIiv(int index, int pname, java.nio.IntBuffer params) {
GLES30.glGetVertexAttribIiv(index, pname, params);
}
// @Override
// public void getVertexAttribIuiv(int index, int pname, int[] params, int offset) {
// GLES30.glGetVertexAttribIuiv(index, pname, params, offset);
// }
@Override
public void getVertexAttribIuiv(int index, int pname, java.nio.IntBuffer params) {
GLES30.glGetVertexAttribIuiv(index, pname, params);
}
@Override
public void vertexAttribI4i(int index, int x, int y, int z, int w) {
GLES30.glVertexAttribI4i(index, x, y, z, w);
}
@Override
public void vertexAttribI4ui(int index, int x, int y, int z, int w) {
GLES30.glVertexAttribI4ui(index, x, y, z, w);
}
// @Override
// public void vertexAttribI4iv(int index, int[] v, int offset) {
// GLES30.glVertexAttribI4iv(index, v, offset);
// }
//
// @Override
// public void vertexAttribI4iv(int index, java.nio.IntBuffer v) {
// GLES30.glVertexAttribI4iv(index, v);
// }
//
// @Override
// public void vertexAttribI4uiv(int index, int[] v, int offset) {
// GLES30.glVertexAttribI4uiv(index, v, offset);
// }
//
// @Override
// public void vertexAttribI4uiv(int index, java.nio.IntBuffer v) {
// GLES30.glVertexAttribI4uiv(index, v);
// }
//
// @Override
// public void getUniformuiv(int program, int location, int[] params, int offset) {
// GLES30.glGetUniformuiv(program, location, params, offset);
// }
@Override
public void getUniformuiv(int program, int location, java.nio.IntBuffer params) {
GLES30.glGetUniformuiv(program, location, params);
}
@Override
public int getFragDataLocation(int program, String name) {
return GLES30.glGetFragDataLocation(program, name);
}
// @Override
// public void uniform1ui(int location, int v0) {
// GLES30.glUniform1ui(location, v0);
// }
//
// @Override
// public void uniform2ui(int location, int v0, int v1) {
// GLES30.glUniform2ui(location, v0, v1);
// }
//
// @Override
// public void uniform3ui(int location, int v0, int v1, int v2) {
// GLES30.glUniform3ui(location, v0, v1, v2);
// }
// @Override
// public void uniform4ui(int location, int v0, int v1, int v2, int v3) {
// GLES30.glUniform4ui(location, v0, v1, v2, v3);
// }
//
// @Override
// public void uniform1uiv(int location, int count, int[] value, int offset) {
// GLES30.glUniform1uiv(location, count, value, offset);
// }
@Override
public void uniform1uiv(int location, int count, java.nio.IntBuffer value) {
GLES30.glUniform1uiv(location, count, value);
}
// @Override
// public void uniform2uiv(int location, int count, int[] value, int offset) {
// GLES30.glUniform2uiv(location, count, value, offset);
// }
//
// @Override
// public void uniform2uiv(int location, int count, java.nio.IntBuffer value) {
// GLES30.glUniform2uiv(location, count, value);
// }
//
// @Override
// public void uniform3uiv(int location, int count, int[] value, int offset) {
// GLES30.glUniform3uiv(location, count, value, offset);
// }
@Override
public void uniform3uiv(int location, int count, java.nio.IntBuffer value) {
GLES30.glUniform3uiv(location, count, value);
}
// @Override
// public void uniform4uiv(int location, int count, int[] value, int offset) {
// GLES30.glUniform4uiv(location, count, value, offset);
// }
@Override
public void uniform4uiv(int location, int count, java.nio.IntBuffer value) {
GLES30.glUniform4uiv(location, count, value);
}
// @Override
// public void clearBufferiv(int buffer, int drawbuffer, int[] value, int offset) {
// GLES30.glClearBufferiv(buffer, drawbuffer, value, offset);
// }
@Override
public void clearBufferiv(int buffer, int drawbuffer, java.nio.IntBuffer value) {
GLES30.glClearBufferiv(buffer, drawbuffer, value);
}
// @Override
// public void clearBufferuiv(int buffer, int drawbuffer, int[] value, int offset) {
// GLES30.glClearBufferuiv(buffer, drawbuffer, value, offset);
// }
@Override
public void clearBufferuiv(int buffer, int drawbuffer, java.nio.IntBuffer value) {
GLES30.glClearBufferuiv(buffer, drawbuffer, value);
}
//
// @Override
// public void clearBufferfv(int buffer, int drawbuffer, float[] value, int offset) {
// GLES30.glClearBufferfv(buffer, drawbuffer, value, offset);
// }
@Override
public void clearBufferfv(int buffer, int drawbuffer, java.nio.FloatBuffer value) {
GLES30.glClearBufferfv(buffer, drawbuffer, value);
}
@Override
public void clearBufferfi(int buffer, int drawbuffer, float depth, int stencil) {
GLES30.glClearBufferfi(buffer, drawbuffer, depth, stencil);
}
@Override
public String getStringi(int name, int index) {
return GLES30.glGetStringi(name, index);
}
@Override
public void copyBufferSubData(int readTarget, int writeTarget, int readOffset, int writeOffset, int size) {
GLES30.glCopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size);
}
//
// @Override
// public void getUniformIndices(int program, String[] uniformNames, int[] uniformIndices, int uniformIndicesOffset) {
// GLES30.glGetUniformIndices(program, uniformNames, uniformIndices, uniformIndicesOffset);
// }
@Override
public void getUniformIndices(int program, String[] uniformNames, java.nio.IntBuffer uniformIndices) {
GLES30.glGetUniformIndices(program, uniformNames, uniformIndices);
}
// @Override
// public void getActiveUniformsiv(int program, int uniformCount, int[] uniformIndices, int uniformIndicesOffset, int pname,
// int[] params, int paramsOffset) {
// GLES30.glGetActiveUniformsiv(program, uniformCount, uniformIndices, uniformIndicesOffset, pname, params, paramsOffset);
// }
@Override
public void getActiveUniformsiv(int program, int uniformCount, java.nio.IntBuffer uniformIndices, int pname,
java.nio.IntBuffer params) {
GLES30.glGetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params);
}
@Override
public int getUniformBlockIndex(int program, String uniformBlockName) {
return GLES30.glGetUniformBlockIndex(program, uniformBlockName);
}
//
// @Override
// public void getActiveUniformBlockiv(int program, int uniformBlockIndex, int pname, int[] params, int offset) {
// GLES30.glGetActiveUniformBlockiv(program, uniformBlockIndex, pname, params, offset);
// }
@Override
public void getActiveUniformBlockiv(int program, int uniformBlockIndex, int pname, java.nio.IntBuffer params) {
GLES30.glGetActiveUniformBlockiv(program, uniformBlockIndex, pname, params);
}
//
// @Override
// public void getActiveUniformBlockName(int program, int uniformBlockIndex, int bufSize, int[] length, int lengthOffset, byte[]
// uniformBlockName, int uniformBlockNameOffset) {
// GLES30.glGetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, lengthOffset, uniformBlockName,
// uniformBlockNameOffset);
// }
@Override
public void getActiveUniformBlockName(int program, int uniformBlockIndex, java.nio.Buffer length,
java.nio.Buffer uniformBlockName) {
GLES30.glGetActiveUniformBlockName(program, uniformBlockIndex, length, uniformBlockName);
}
@Override
public String getActiveUniformBlockName(int program, int uniformBlockIndex) {
return GLES30.glGetActiveUniformBlockName(program, uniformBlockIndex);
}
@Override
public void uniformBlockBinding(int program, int uniformBlockIndex, int uniformBlockBinding) {
GLES30.glUniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding);
}
@Override
public void drawArraysInstanced(int mode, int first, int count, int instanceCount) {
GLES30.glDrawArraysInstanced(mode, first, count, instanceCount);
}
// @Override
// public void drawElementsInstanced(int mode, int count, int type, java.nio.Buffer indices, int instanceCount) {
// GLES30.glDrawElementsInstanced(mode, count, type, indices, instanceCount);
// }
@Override
public void drawElementsInstanced(int mode, int count, int type, int indicesOffset, int instanceCount) {
GLES30.glDrawElementsInstanced(mode, count, type, indicesOffset, instanceCount);
}
// @Override
// public long fenceSync(int condition, int flags) {
// return GLES30.glFenceSync(condition, flags);
// }
//
// @Override
// public boolean isSync(long sync) {
// return GLES30.glIsSync(sync);
// }
//
// @Override
// public void deleteSync(long sync) {
// GLES30.glDeleteSync(sync);
// }
//
// @Override
// public int clientWaitSync(long sync, int flags, long timeout) {
// return GLES30.glClientWaitSync(sync, flags, timeout);
// }
// @Override
// public void waitSync(long sync, int flags, long timeout) {
// GLES30.glWaitSync(sync, flags, timeout);
// }
//
// @Override
// public void getInteger64v(int pname, long[] params, int offset) {
// GLES30.glGetInteger64v(pname, params, offset);
// }
@Override
public void getInteger64v(int pname, java.nio.LongBuffer params) {
GLES30.glGetInteger64v(pname, params);
}
// @Override
// public void getSynciv(long sync, int pname, int bufSize, int[] length, int lengthOffset, int[] values, int valuesOffset) {
// GLES30.glGetSynciv(sync, pname, bufSize, length, lengthOffset, values, valuesOffset);
// }
//
// @Override
// public void getSynciv(long sync, int pname, int bufSize, java.nio.IntBuffer length, java.nio.IntBuffer values) {
// GLES30.glGetSynciv(sync, pname, bufSize, length, values);
// }
//
// @Override
// public void getInteger64i_v(int target, int index, long[] data, int offset) {
// GLES30.glGetInteger64i_v(target, index, data, offset);
// }
//
// @Override
// public void getInteger64i_v(int target, int index, java.nio.LongBuffer data) {
// GLES30.glGetInteger64i_v(target, index, data);
// }
//
// @Override
// public void getBufferParameteri64v(int target, int pname, long[] params, int offset) {
// GLES30.glGetBufferParameteri64v(target, pname, params, offset);
// }
@Override
public void getBufferParameteri64v(int target, int pname, java.nio.LongBuffer params) {
GLES30.glGetBufferParameteri64v(target, pname, params);
}
@Override
public void genSamplers(int count, int[] samplers, int offset) {
GLES30.glGenSamplers(count, samplers, offset);
}
@Override
public void genSamplers(int count, java.nio.IntBuffer samplers) {
GLES30.glGenSamplers(count, samplers);
}
@Override
public void deleteSamplers(int count, int[] samplers, int offset) {
GLES30.glDeleteSamplers(count, samplers, offset);
}
@Override
public void deleteSamplers(int count, java.nio.IntBuffer samplers) {
GLES30.glDeleteSamplers(count, samplers);
}
@Override
public boolean isSampler(int sampler) {
return GLES30.glIsSampler(sampler);
}
@Override
public void bindSampler(int unit, int sampler) {
GLES30.glBindSampler(unit, sampler);
}
@Override
public void samplerParameteri(int sampler, int pname, int param) {
GLES30.glSamplerParameteri(sampler, pname, param);
}
//
// @Override
// public void samplerParameteriv(int sampler, int pname, int[] param, int offset) {
// GLES30.glSamplerParameteriv(sampler, pname, param, offset);
// }
@Override
public void samplerParameteriv(int sampler, int pname, java.nio.IntBuffer param) {
GLES30.glSamplerParameteriv(sampler, pname, param);
}
@Override
public void samplerParameterf(int sampler, int pname, float param) {
GLES30.glSamplerParameterf(sampler, pname, param);
}
// @Override
// public void samplerParameterfv(int sampler, int pname, float[] param, int offset) {
// GLES30.glSamplerParameterfv(sampler, pname, param, offset);
// }
@Override
public void samplerParameterfv(int sampler, int pname, java.nio.FloatBuffer param) {
GLES30.glSamplerParameterfv(sampler, pname, param);
}
//
// @Override
// public void getSamplerParameteriv(int sampler, int pname, int[] params, int offset) {
// GLES30.glGetSamplerParameteriv(sampler, pname, params, offset);
// }
@Override
public void getSamplerParameteriv(int sampler, int pname, java.nio.IntBuffer params) {
GLES30.glGetSamplerParameteriv(sampler, pname, params);
}
// @Override
// public void getSamplerParameterfv(int sampler, int pname, float[] params, int offset) {
// GLES30.glGetSamplerParameterfv(sampler, pname, params, offset);
// }
@Override
public void getSamplerParameterfv(int sampler, int pname, java.nio.FloatBuffer params) {
GLES30.glGetSamplerParameterfv(sampler, pname, params);
}
@Override
public void vertexAttribDivisor(int index, int divisor) {
GLES30.glVertexAttribDivisor(index, divisor);
}
@Override
public void bindTransformFeedback(int target, int id) {
GLES30.glBindTransformFeedback(target, id);
}
@Override
public void deleteTransformFeedbacks(int n, int[] ids, int offset) {
GLES30.glDeleteTransformFeedbacks(n, ids, offset);
}
@Override
public void deleteTransformFeedbacks(int n, java.nio.IntBuffer ids) {
GLES30.glDeleteTransformFeedbacks(n, ids);
}
@Override
public void genTransformFeedbacks(int n, int[] ids, int offset) {
GLES30.glGenTransformFeedbacks(n, ids, offset);
}
@Override
public void genTransformFeedbacks(int n, java.nio.IntBuffer ids) {
GLES30.glGenTransformFeedbacks(n, ids);
}
@Override
public boolean isTransformFeedback(int id) {
return GLES30.glIsTransformFeedback(id);
}
@Override
public void pauseTransformFeedback() {
GLES30.glPauseTransformFeedback();
}
@Override
public void resumeTransformFeedback() {
GLES30.glResumeTransformFeedback();
}
// @Override
// public void getProgramBinary(int program, int bufSize, int[] length, int lengthOffset, int[] binaryFormat, int
// binaryFormatOffset, java.nio.Buffer binary) {
// GLES30.glGetProgramBinary(program, bufSize, length, lengthOffset, binaryFormat, binaryFormatOffset, binary);
// }
//
// @Override
// public void getProgramBinary(int program, int bufSize, java.nio.IntBuffer length, java.nio.IntBuffer binaryFormat,
// java.nio.Buffer binary) {
// GLES30.glGetProgramBinary(program, bufSize, length, binaryFormat, binary);
// }
// @Override
// public void programBinary(int program, int binaryFormat, java.nio.Buffer binary, int length) {
// GLES30.glProgramBinary(program, binaryFormat, binary, length);
// }
@Override
public void programParameteri(int program, int pname, int value) {
GLES30.glProgramParameteri(program, pname, value);
}
// @Override
// public void invalidateFramebuffer(int target, int numAttachments, int[] attachments, int offset) {
// GLES30.glInvalidateFramebuffer(target, numAttachments, attachments, offset);
// }
@Override
public void invalidateFramebuffer(int target, int numAttachments, java.nio.IntBuffer attachments) {
GLES30.glInvalidateFramebuffer(target, numAttachments, attachments);
}
//
// @Override
// public void invalidateSubFramebuffer(int target, int numAttachments, int[] attachments, int offset, int x, int y, int width,
// int height) {
// GLES30.glInvalidateSubFramebuffer(target, numAttachments, attachments, offset, x, y, width, height);
// }
@Override
public void invalidateSubFramebuffer(int target, int numAttachments, java.nio.IntBuffer attachments, int x, int y,
int width, int height) {
GLES30.glInvalidateSubFramebuffer(target, numAttachments, attachments, x, y, width, height);
}
// @Override
// public void texStorage2D(int target, int levels, int internalformat, int width, int height) {
// GLES30.glTexStorage2D(target, levels, internalformat, width, height);
// }
// @Override
// public void texStorage3D(int target, int levels, int internalformat, int width, int height, int depth) {
// GLES30.glTexStorage3D(target, levels, internalformat, width, height, depth);
// }
//
// @Override
// public void getInternalformativ(int target, int internalformat, int pname, int bufSize, int[] params, int offset) {
// GLES30.glGetInternalformativ(target, internalformat, pname, bufSize, params, offset);
// }
//
// @Override
// public void getInternalformativ(int target, int internalformat, int pname, int bufSize, java.nio.IntBuffer params) {
// GLES30.glGetInternalformativ(target, internalformat, pname, bufSize, params);
// }
}

View File

@ -0,0 +1,878 @@
/*
* Copyright 2019 Gustl22
*
* This file is part of the OpenScienceMap project (http://www.opensciencemap.org).
*
* This program is free software: you can redistribute it and/or modify it under the
* terms of the GNU Lesser General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
* PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
/*******************************************************************************
* Copyright 2014 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 org.oscim.android.gl;
import android.annotation.SuppressLint;
import android.opengl.GLES30;
import org.oscim.backend.GL30;
/**
* See https://github.com/libgdx/libgdx/blob/master/backends/gdx-backend-android/src/com/badlogic/gdx/backends/android/AndroidGL30.java
*/
@SuppressLint("NewApi")
public class AndroidGL30 extends AndroidGL implements GL30 {
@Override
public void readBuffer(int mode) {
GLES30.glReadBuffer(mode);
}
@Override
public void drawRangeElements(int mode, int start, int end, int count, int type, java.nio.Buffer indices) {
GLES30.glDrawRangeElements(mode, start, end, count, type, indices);
}
@Override
public void drawRangeElements(int mode, int start, int end, int count, int type, int offset) {
GLES30.glDrawRangeElements(mode, start, end, count, type, offset);
}
@Override
public void texImage3D(int target, int level, int internalformat, int width, int height, int depth, int border, int format,
int type, java.nio.Buffer pixels) {
if (pixels == null)
GLES30.glTexImage3D(target, level, internalformat, width, height, depth, border, format, type, 0);
else
GLES30.glTexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels);
}
@Override
public void texImage3D(int target, int level, int internalformat, int width, int height, int depth, int border, int format,
int type, int offset) {
GLES30.glTexImage3D(target, level, internalformat, width, height, depth, border, format, type, offset);
}
@Override
public void texSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth,
int format, int type, java.nio.Buffer pixels) {
GLES30.glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
}
@Override
public void texSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth,
int format, int type, int offset) {
GLES30.glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, offset);
}
@Override
public void copyTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int x, int y, int width,
int height) {
GLES30.glCopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height);
}
//
// @Override
// public void compressedTexImage3D(int target, int level, int internalformat, int width, int height, int depth, int border, int
// imageSize, java.nio.Buffer data) {
// GLES30.glCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data);
// }
//
// @Override
// public void compressedTexImage3D(int target, int level, int internalformat, int width, int height, int depth, int border, int
// imageSize, int offset) {
// GLES30.glCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, offset);
// }
//
// @Override
// public void compressedTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int
// depth, int format, int imageSize, java.nio.Buffer data) {
// GLES30.glCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
// }
//
// @Override
// public void compressedTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int
// depth, int format, int imageSize, int offset) {
// GLES30.glCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, offset);
// }
@Override
public void genQueries(int n, int[] ids, int offset) {
GLES30.glGenQueries(n, ids, offset);
}
@Override
public void genQueries(int n, java.nio.IntBuffer ids) {
GLES30.glGenQueries(n, ids);
}
@Override
public void deleteQueries(int n, int[] ids, int offset) {
GLES30.glDeleteQueries(n, ids, offset);
}
@Override
public void deleteQueries(int n, java.nio.IntBuffer ids) {
GLES30.glDeleteQueries(n, ids);
}
@Override
public boolean isQuery(int id) {
return GLES30.glIsQuery(id);
}
@Override
public void beginQuery(int target, int id) {
GLES30.glBeginQuery(target, id);
}
@Override
public void endQuery(int target) {
GLES30.glEndQuery(target);
}
// @Override
// public void getQueryiv(int target, int pname, int[] params, int offset) {
// GLES30.glGetQueryiv(target, pname, params, offset);
// }
@Override
public void getQueryiv(int target, int pname, java.nio.IntBuffer params) {
GLES30.glGetQueryiv(target, pname, params);
}
// @Override
// public void getQueryObjectuiv(int id, int pname, int[] params, int offset) {
// GLES30.glGetQueryObjectuiv(id, pname, params, offset);
// }
@Override
public void getQueryObjectuiv(int id, int pname, java.nio.IntBuffer params) {
GLES30.glGetQueryObjectuiv(id, pname, params);
}
@Override
public boolean unmapBuffer(int target) {
return GLES30.glUnmapBuffer(target);
}
@Override
public java.nio.Buffer getBufferPointerv(int target, int pname) {
return GLES30.glGetBufferPointerv(target, pname);
}
// @Override
// public void drawBuffers(int n, int[] bufs, int offset) {
// GLES30.glDrawBuffers(n, bufs, offset);
// }
@Override
public void drawBuffers(int n, java.nio.IntBuffer bufs) {
GLES30.glDrawBuffers(n, bufs);
}
// @Override
// public void uniformMatrix2x3fv(int location, int count, boolean transpose, float[] value, int offset) {
// GLES30.glUniformMatrix2x3fv(location, count, transpose, value, offset);
// }
@Override
public void uniformMatrix2x3fv(int location, int count, boolean transpose, java.nio.FloatBuffer value) {
GLES30.glUniformMatrix2x3fv(location, count, transpose, value);
}
// @Override
// public void uniformMatrix3x2fv(int location, int count, boolean transpose, float[] value, int offset) {
// GLES30.glUniformMatrix3x2fv(location, count, transpose, value, offset);
// }
@Override
public void uniformMatrix3x2fv(int location, int count, boolean transpose, java.nio.FloatBuffer value) {
GLES30.glUniformMatrix3x2fv(location, count, transpose, value);
}
// @Override
// public void uniformMatrix2x4fv(int location, int count, boolean transpose, float[] value, int offset) {
// GLES30.glUniformMatrix2x4fv(location, count, transpose, value, offset);
// }
@Override
public void uniformMatrix2x4fv(int location, int count, boolean transpose, java.nio.FloatBuffer value) {
GLES30.glUniformMatrix2x4fv(location, count, transpose, value);
}
// @Override
// public void uniformMatrix4x2fv(int location, int count, boolean transpose, float[] value, int offset) {
// GLES30.glUniformMatrix4x2fv(location, count, transpose, value, offset);
// }
@Override
public void uniformMatrix4x2fv(int location, int count, boolean transpose, java.nio.FloatBuffer value) {
GLES30.glUniformMatrix4x2fv(location, count, transpose, value);
}
// @Override
// public void uniformMatrix3x4fv(int location, int count, boolean transpose, float[] value, int offset) {
// GLES30.glUniformMatrix3x4fv(location, count, transpose, value, offset);
// }
@Override
public void uniformMatrix3x4fv(int location, int count, boolean transpose, java.nio.FloatBuffer value) {
GLES30.glUniformMatrix3x4fv(location, count, transpose, value);
}
// @Override
// public void uniformMatrix4x3fv(int location, int count, boolean transpose, float[] value, int offset) {
// GLES30.glUniformMatrix4x3fv(location, count, transpose, value, offset);
// }
@Override
public void uniformMatrix4x3fv(int location, int count, boolean transpose, java.nio.FloatBuffer value) {
GLES30.glUniformMatrix4x3fv(location, count, transpose, value);
}
@Override
public void blitFramebuffer(int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0, int dstX1, int dstY1,
int mask, int filter) {
GLES30.glBlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
}
@Override
public void renderbufferStorageMultisample(int target, int samples, int internalformat, int width, int height) {
GLES30.glRenderbufferStorageMultisample(target, samples, internalformat, width, height);
}
@Override
public void framebufferTextureLayer(int target, int attachment, int texture, int level, int layer) {
GLES30.glFramebufferTextureLayer(target, attachment, texture, level, layer);
}
// @Override
// public java.nio.Buffer mapBufferRange(int target, int offset, int length, int access) {
// return GLES30.glMapBufferRange(target, offset, length, access);
// }
@Override
public void flushMappedBufferRange(int target, int offset, int length) {
GLES30.glFlushMappedBufferRange(target, offset, length);
}
@Override
public void bindVertexArray(int array) {
GLES30.glBindVertexArray(array);
}
@Override
public void deleteVertexArrays(int n, int[] arrays, int offset) {
GLES30.glDeleteVertexArrays(n, arrays, offset);
}
@Override
public void deleteVertexArrays(int n, java.nio.IntBuffer arrays) {
GLES30.glDeleteVertexArrays(n, arrays);
}
@Override
public void genVertexArrays(int n, int[] arrays, int offset) {
GLES30.glGenVertexArrays(n, arrays, offset);
}
@Override
public void genVertexArrays(int n, java.nio.IntBuffer arrays) {
GLES30.glGenVertexArrays(n, arrays);
}
@Override
public boolean isVertexArray(int array) {
return GLES30.glIsVertexArray(array);
}
// @Override
// public void getIntegeri_v(int target, int index, int[] data, int offset) {
// GLES30.glGetIntegeri_v(target, index, data, offset);
// }
// @Override
// public void getIntegeri_v(int target, int index, java.nio.IntBuffer data) {
// GLES30.glGetIntegeri_v(target, index, data);
// }
@Override
public void beginTransformFeedback(int primitiveMode) {
GLES30.glBeginTransformFeedback(primitiveMode);
}
@Override
public void endTransformFeedback() {
GLES30.glEndTransformFeedback();
}
@Override
public void bindBufferRange(int target, int index, int buffer, int offset, int size) {
GLES30.glBindBufferRange(target, index, buffer, offset, size);
}
@Override
public void bindBufferBase(int target, int index, int buffer) {
GLES30.glBindBufferBase(target, index, buffer);
}
@Override
public void transformFeedbackVaryings(int program, String[] varyings, int bufferMode) {
GLES30.glTransformFeedbackVaryings(program, varyings, bufferMode);
}
// @Override
// public void getTransformFeedbackVarying(int program, int index, int bufsize, int[] length, int lengthOffset, int[] size, int
// sizeOffset, int[] type, int typeOffset, byte[] name, int nameOffset) {
// GLES30.glGetTransformFeedbackVarying(program, index, bufsize, length, lengthOffset, size, sizeOffset, type, typeOffset, name,
// nameOffset);
// }
// @Override
// public void getTransformFeedbackVarying(int program, int index, int bufsize, java.nio.IntBuffer length, java.nio.IntBuffer
// size, java.nio.IntBuffer type, byte name) {
// GLES30.glGetTransformFeedbackVarying(program, index, bufsize, length, size, type, name);
// }
//
// @Override
// public String getTransformFeedbackVarying(int program, int index, int[] size, int sizeOffset, int[] type, int typeOffset) {
// return GLES30.glGetTransformFeedbackVarying(program, index, size, sizeOffset, type, typeOffset);
// }
//
// @Override
// public String getTransformFeedbackVarying(int program, int index, java.nio.IntBuffer size, java.nio.IntBuffer type) {
// return GLES30.glGetTransformFeedbackVarying(program, index, size, type);
// }
@Override
public void vertexAttribIPointer(int index, int size, int type, int stride, int offset) {
GLES30.glVertexAttribIPointer(index, size, type, stride, offset);
}
// @Override
// public void getVertexAttribIiv(int index, int pname, int[] params, int offset) {
// GLES30.glGetVertexAttribIiv(index, pname, params, offset);
// }
@Override
public void getVertexAttribIiv(int index, int pname, java.nio.IntBuffer params) {
GLES30.glGetVertexAttribIiv(index, pname, params);
}
// @Override
// public void getVertexAttribIuiv(int index, int pname, int[] params, int offset) {
// GLES30.glGetVertexAttribIuiv(index, pname, params, offset);
// }
@Override
public void getVertexAttribIuiv(int index, int pname, java.nio.IntBuffer params) {
GLES30.glGetVertexAttribIuiv(index, pname, params);
}
@Override
public void vertexAttribI4i(int index, int x, int y, int z, int w) {
GLES30.glVertexAttribI4i(index, x, y, z, w);
}
@Override
public void vertexAttribI4ui(int index, int x, int y, int z, int w) {
GLES30.glVertexAttribI4ui(index, x, y, z, w);
}
// @Override
// public void vertexAttribI4iv(int index, int[] v, int offset) {
// GLES30.glVertexAttribI4iv(index, v, offset);
// }
//
// @Override
// public void vertexAttribI4iv(int index, java.nio.IntBuffer v) {
// GLES30.glVertexAttribI4iv(index, v);
// }
//
// @Override
// public void vertexAttribI4uiv(int index, int[] v, int offset) {
// GLES30.glVertexAttribI4uiv(index, v, offset);
// }
//
// @Override
// public void vertexAttribI4uiv(int index, java.nio.IntBuffer v) {
// GLES30.glVertexAttribI4uiv(index, v);
// }
//
// @Override
// public void getUniformuiv(int program, int location, int[] params, int offset) {
// GLES30.glGetUniformuiv(program, location, params, offset);
// }
@Override
public void getUniformuiv(int program, int location, java.nio.IntBuffer params) {
GLES30.glGetUniformuiv(program, location, params);
}
@Override
public int getFragDataLocation(int program, String name) {
return GLES30.glGetFragDataLocation(program, name);
}
// @Override
// public void uniform1ui(int location, int v0) {
// GLES30.glUniform1ui(location, v0);
// }
//
// @Override
// public void uniform2ui(int location, int v0, int v1) {
// GLES30.glUniform2ui(location, v0, v1);
// }
//
// @Override
// public void uniform3ui(int location, int v0, int v1, int v2) {
// GLES30.glUniform3ui(location, v0, v1, v2);
// }
// @Override
// public void uniform4ui(int location, int v0, int v1, int v2, int v3) {
// GLES30.glUniform4ui(location, v0, v1, v2, v3);
// }
//
// @Override
// public void uniform1uiv(int location, int count, int[] value, int offset) {
// GLES30.glUniform1uiv(location, count, value, offset);
// }
@Override
public void uniform1uiv(int location, int count, java.nio.IntBuffer value) {
GLES30.glUniform1uiv(location, count, value);
}
// @Override
// public void uniform2uiv(int location, int count, int[] value, int offset) {
// GLES30.glUniform2uiv(location, count, value, offset);
// }
//
// @Override
// public void uniform2uiv(int location, int count, java.nio.IntBuffer value) {
// GLES30.glUniform2uiv(location, count, value);
// }
//
// @Override
// public void uniform3uiv(int location, int count, int[] value, int offset) {
// GLES30.glUniform3uiv(location, count, value, offset);
// }
@Override
public void uniform3uiv(int location, int count, java.nio.IntBuffer value) {
GLES30.glUniform3uiv(location, count, value);
}
// @Override
// public void uniform4uiv(int location, int count, int[] value, int offset) {
// GLES30.glUniform4uiv(location, count, value, offset);
// }
@Override
public void uniform4uiv(int location, int count, java.nio.IntBuffer value) {
GLES30.glUniform4uiv(location, count, value);
}
// @Override
// public void clearBufferiv(int buffer, int drawbuffer, int[] value, int offset) {
// GLES30.glClearBufferiv(buffer, drawbuffer, value, offset);
// }
@Override
public void clearBufferiv(int buffer, int drawbuffer, java.nio.IntBuffer value) {
GLES30.glClearBufferiv(buffer, drawbuffer, value);
}
// @Override
// public void clearBufferuiv(int buffer, int drawbuffer, int[] value, int offset) {
// GLES30.glClearBufferuiv(buffer, drawbuffer, value, offset);
// }
@Override
public void clearBufferuiv(int buffer, int drawbuffer, java.nio.IntBuffer value) {
GLES30.glClearBufferuiv(buffer, drawbuffer, value);
}
//
// @Override
// public void clearBufferfv(int buffer, int drawbuffer, float[] value, int offset) {
// GLES30.glClearBufferfv(buffer, drawbuffer, value, offset);
// }
@Override
public void clearBufferfv(int buffer, int drawbuffer, java.nio.FloatBuffer value) {
GLES30.glClearBufferfv(buffer, drawbuffer, value);
}
@Override
public void clearBufferfi(int buffer, int drawbuffer, float depth, int stencil) {
GLES30.glClearBufferfi(buffer, drawbuffer, depth, stencil);
}
@Override
public String getStringi(int name, int index) {
return GLES30.glGetStringi(name, index);
}
@Override
public void copyBufferSubData(int readTarget, int writeTarget, int readOffset, int writeOffset, int size) {
GLES30.glCopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size);
}
//
// @Override
// public void getUniformIndices(int program, String[] uniformNames, int[] uniformIndices, int uniformIndicesOffset) {
// GLES30.glGetUniformIndices(program, uniformNames, uniformIndices, uniformIndicesOffset);
// }
@Override
public void getUniformIndices(int program, String[] uniformNames, java.nio.IntBuffer uniformIndices) {
GLES30.glGetUniformIndices(program, uniformNames, uniformIndices);
}
// @Override
// public void getActiveUniformsiv(int program, int uniformCount, int[] uniformIndices, int uniformIndicesOffset, int pname,
// int[] params, int paramsOffset) {
// GLES30.glGetActiveUniformsiv(program, uniformCount, uniformIndices, uniformIndicesOffset, pname, params, paramsOffset);
// }
@Override
public void getActiveUniformsiv(int program, int uniformCount, java.nio.IntBuffer uniformIndices, int pname,
java.nio.IntBuffer params) {
GLES30.glGetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params);
}
@Override
public int getUniformBlockIndex(int program, String uniformBlockName) {
return GLES30.glGetUniformBlockIndex(program, uniformBlockName);
}
//
// @Override
// public void getActiveUniformBlockiv(int program, int uniformBlockIndex, int pname, int[] params, int offset) {
// GLES30.glGetActiveUniformBlockiv(program, uniformBlockIndex, pname, params, offset);
// }
@Override
public void getActiveUniformBlockiv(int program, int uniformBlockIndex, int pname, java.nio.IntBuffer params) {
GLES30.glGetActiveUniformBlockiv(program, uniformBlockIndex, pname, params);
}
//
// @Override
// public void getActiveUniformBlockName(int program, int uniformBlockIndex, int bufSize, int[] length, int lengthOffset, byte[]
// uniformBlockName, int uniformBlockNameOffset) {
// GLES30.glGetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, lengthOffset, uniformBlockName,
// uniformBlockNameOffset);
// }
@Override
public void getActiveUniformBlockName(int program, int uniformBlockIndex, java.nio.Buffer length,
java.nio.Buffer uniformBlockName) {
GLES30.glGetActiveUniformBlockName(program, uniformBlockIndex, length, uniformBlockName);
}
@Override
public String getActiveUniformBlockName(int program, int uniformBlockIndex) {
return GLES30.glGetActiveUniformBlockName(program, uniformBlockIndex);
}
@Override
public void uniformBlockBinding(int program, int uniformBlockIndex, int uniformBlockBinding) {
GLES30.glUniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding);
}
@Override
public void drawArraysInstanced(int mode, int first, int count, int instanceCount) {
GLES30.glDrawArraysInstanced(mode, first, count, instanceCount);
}
// @Override
// public void drawElementsInstanced(int mode, int count, int type, java.nio.Buffer indices, int instanceCount) {
// GLES30.glDrawElementsInstanced(mode, count, type, indices, instanceCount);
// }
@Override
public void drawElementsInstanced(int mode, int count, int type, int indicesOffset, int instanceCount) {
GLES30.glDrawElementsInstanced(mode, count, type, indicesOffset, instanceCount);
}
// @Override
// public long fenceSync(int condition, int flags) {
// return GLES30.glFenceSync(condition, flags);
// }
//
// @Override
// public boolean isSync(long sync) {
// return GLES30.glIsSync(sync);
// }
//
// @Override
// public void deleteSync(long sync) {
// GLES30.glDeleteSync(sync);
// }
//
// @Override
// public int clientWaitSync(long sync, int flags, long timeout) {
// return GLES30.glClientWaitSync(sync, flags, timeout);
// }
// @Override
// public void waitSync(long sync, int flags, long timeout) {
// GLES30.glWaitSync(sync, flags, timeout);
// }
//
// @Override
// public void getInteger64v(int pname, long[] params, int offset) {
// GLES30.glGetInteger64v(pname, params, offset);
// }
@Override
public void getInteger64v(int pname, java.nio.LongBuffer params) {
GLES30.glGetInteger64v(pname, params);
}
// @Override
// public void getSynciv(long sync, int pname, int bufSize, int[] length, int lengthOffset, int[] values, int valuesOffset) {
// GLES30.glGetSynciv(sync, pname, bufSize, length, lengthOffset, values, valuesOffset);
// }
//
// @Override
// public void getSynciv(long sync, int pname, int bufSize, java.nio.IntBuffer length, java.nio.IntBuffer values) {
// GLES30.glGetSynciv(sync, pname, bufSize, length, values);
// }
//
// @Override
// public void getInteger64i_v(int target, int index, long[] data, int offset) {
// GLES30.glGetInteger64i_v(target, index, data, offset);
// }
//
// @Override
// public void getInteger64i_v(int target, int index, java.nio.LongBuffer data) {
// GLES30.glGetInteger64i_v(target, index, data);
// }
//
// @Override
// public void getBufferParameteri64v(int target, int pname, long[] params, int offset) {
// GLES30.glGetBufferParameteri64v(target, pname, params, offset);
// }
@Override
public void getBufferParameteri64v(int target, int pname, java.nio.LongBuffer params) {
GLES30.glGetBufferParameteri64v(target, pname, params);
}
@Override
public void genSamplers(int count, int[] samplers, int offset) {
GLES30.glGenSamplers(count, samplers, offset);
}
@Override
public void genSamplers(int count, java.nio.IntBuffer samplers) {
GLES30.glGenSamplers(count, samplers);
}
@Override
public void deleteSamplers(int count, int[] samplers, int offset) {
GLES30.glDeleteSamplers(count, samplers, offset);
}
@Override
public void deleteSamplers(int count, java.nio.IntBuffer samplers) {
GLES30.glDeleteSamplers(count, samplers);
}
@Override
public boolean isSampler(int sampler) {
return GLES30.glIsSampler(sampler);
}
@Override
public void bindSampler(int unit, int sampler) {
GLES30.glBindSampler(unit, sampler);
}
@Override
public void samplerParameteri(int sampler, int pname, int param) {
GLES30.glSamplerParameteri(sampler, pname, param);
}
//
// @Override
// public void samplerParameteriv(int sampler, int pname, int[] param, int offset) {
// GLES30.glSamplerParameteriv(sampler, pname, param, offset);
// }
@Override
public void samplerParameteriv(int sampler, int pname, java.nio.IntBuffer param) {
GLES30.glSamplerParameteriv(sampler, pname, param);
}
@Override
public void samplerParameterf(int sampler, int pname, float param) {
GLES30.glSamplerParameterf(sampler, pname, param);
}
// @Override
// public void samplerParameterfv(int sampler, int pname, float[] param, int offset) {
// GLES30.glSamplerParameterfv(sampler, pname, param, offset);
// }
@Override
public void samplerParameterfv(int sampler, int pname, java.nio.FloatBuffer param) {
GLES30.glSamplerParameterfv(sampler, pname, param);
}
//
// @Override
// public void getSamplerParameteriv(int sampler, int pname, int[] params, int offset) {
// GLES30.glGetSamplerParameteriv(sampler, pname, params, offset);
// }
@Override
public void getSamplerParameteriv(int sampler, int pname, java.nio.IntBuffer params) {
GLES30.glGetSamplerParameteriv(sampler, pname, params);
}
// @Override
// public void getSamplerParameterfv(int sampler, int pname, float[] params, int offset) {
// GLES30.glGetSamplerParameterfv(sampler, pname, params, offset);
// }
@Override
public void getSamplerParameterfv(int sampler, int pname, java.nio.FloatBuffer params) {
GLES30.glGetSamplerParameterfv(sampler, pname, params);
}
@Override
public void vertexAttribDivisor(int index, int divisor) {
GLES30.glVertexAttribDivisor(index, divisor);
}
@Override
public void bindTransformFeedback(int target, int id) {
GLES30.glBindTransformFeedback(target, id);
}
@Override
public void deleteTransformFeedbacks(int n, int[] ids, int offset) {
GLES30.glDeleteTransformFeedbacks(n, ids, offset);
}
@Override
public void deleteTransformFeedbacks(int n, java.nio.IntBuffer ids) {
GLES30.glDeleteTransformFeedbacks(n, ids);
}
@Override
public void genTransformFeedbacks(int n, int[] ids, int offset) {
GLES30.glGenTransformFeedbacks(n, ids, offset);
}
@Override
public void genTransformFeedbacks(int n, java.nio.IntBuffer ids) {
GLES30.glGenTransformFeedbacks(n, ids);
}
@Override
public boolean isTransformFeedback(int id) {
return GLES30.glIsTransformFeedback(id);
}
@Override
public void pauseTransformFeedback() {
GLES30.glPauseTransformFeedback();
}
@Override
public void resumeTransformFeedback() {
GLES30.glResumeTransformFeedback();
}
// @Override
// public void getProgramBinary(int program, int bufSize, int[] length, int lengthOffset, int[] binaryFormat, int
// binaryFormatOffset, java.nio.Buffer binary) {
// GLES30.glGetProgramBinary(program, bufSize, length, lengthOffset, binaryFormat, binaryFormatOffset, binary);
// }
//
// @Override
// public void getProgramBinary(int program, int bufSize, java.nio.IntBuffer length, java.nio.IntBuffer binaryFormat,
// java.nio.Buffer binary) {
// GLES30.glGetProgramBinary(program, bufSize, length, binaryFormat, binary);
// }
// @Override
// public void programBinary(int program, int binaryFormat, java.nio.Buffer binary, int length) {
// GLES30.glProgramBinary(program, binaryFormat, binary, length);
// }
@Override
public void programParameteri(int program, int pname, int value) {
GLES30.glProgramParameteri(program, pname, value);
}
// @Override
// public void invalidateFramebuffer(int target, int numAttachments, int[] attachments, int offset) {
// GLES30.glInvalidateFramebuffer(target, numAttachments, attachments, offset);
// }
@Override
public void invalidateFramebuffer(int target, int numAttachments, java.nio.IntBuffer attachments) {
GLES30.glInvalidateFramebuffer(target, numAttachments, attachments);
}
//
// @Override
// public void invalidateSubFramebuffer(int target, int numAttachments, int[] attachments, int offset, int x, int y, int width,
// int height) {
// GLES30.glInvalidateSubFramebuffer(target, numAttachments, attachments, offset, x, y, width, height);
// }
@Override
public void invalidateSubFramebuffer(int target, int numAttachments, java.nio.IntBuffer attachments, int x, int y,
int width, int height) {
GLES30.glInvalidateSubFramebuffer(target, numAttachments, attachments, x, y, width, height);
}
// @Override
// public void texStorage2D(int target, int levels, int internalformat, int width, int height) {
// GLES30.glTexStorage2D(target, levels, internalformat, width, height);
// }
// @Override
// public void texStorage3D(int target, int levels, int internalformat, int width, int height, int depth) {
// GLES30.glTexStorage3D(target, levels, internalformat, width, height, depth);
// }
//
// @Override
// public void getInternalformativ(int target, int internalformat, int pname, int bufSize, int[] params, int offset) {
// GLES30.glGetInternalformativ(target, internalformat, pname, bufSize, params, offset);
// }
//
// @Override
// public void getInternalformativ(int target, int internalformat, int pname, int bufSize, java.nio.IntBuffer params) {
// GLES30.glGetInternalformativ(target, internalformat, pname, bufSize, params);
// }
}

View File

@ -0,0 +1,657 @@
/*******************************************************************************
* 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 org.oscim.gdx;
import com.badlogic.gdx.utils.GdxRuntimeException;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;
import org.lwjgl.opengl.GL15;
import org.lwjgl.opengl.GL20;
import org.lwjgl.opengl.GL21;
import org.lwjgl.opengl.GL31;
import org.lwjgl.opengl.GL32;
import org.lwjgl.opengl.GL33;
import org.lwjgl.opengl.GL40;
import org.lwjgl.opengl.GL41;
import org.lwjgl.opengl.GL43;
import org.oscim.backend.GL30;
import java.nio.Buffer;
import java.nio.ByteBuffer;
import java.nio.DoubleBuffer;
import java.nio.FloatBuffer;
import java.nio.IntBuffer;
import java.nio.LongBuffer;
import java.nio.ShortBuffer;
/**
* See https://github.com/libgdx/libgdx/blob/master/backends/gdx-backend-lwjgl3/src/com/badlogic/gdx/backends/lwjgl3/Lwjgl3GL30.java
*/
public class LwjglGL30 extends LwjglGL20 implements GL30 {
@Override
public void readBuffer(int mode) {
GL11.glReadBuffer(mode);
}
@Override
public void drawRangeElements(int mode, int start, int end, int count, int type, Buffer indices) {
if (indices instanceof ByteBuffer)
GL12.glDrawRangeElements(mode, start, end, (ByteBuffer) indices);
else if (indices instanceof ShortBuffer)
GL12.glDrawRangeElements(mode, start, end, (ShortBuffer) indices);
else if (indices instanceof IntBuffer)
GL12.glDrawRangeElements(mode, start, end, (IntBuffer) indices);
else throw new GdxRuntimeException("indices must be byte, short or int buffer");
}
@Override
public void drawRangeElements(int mode, int start, int end, int count, int type, int offset) {
GL12.glDrawRangeElements(mode, start, end, count, type, offset);
}
@Override
public void texImage3D(int target, int level, int internalformat, int width, int height, int depth, int border, int format,
int type, Buffer pixels) {
if (pixels == null)
GL12.glTexImage3D(target, level, internalformat, width, height, depth, border, format, type, (ByteBuffer) null);
else if (pixels instanceof ByteBuffer)
GL12.glTexImage3D(target, level, internalformat, width, height, depth, border, format, type, (ByteBuffer) pixels);
else if (pixels instanceof ShortBuffer)
GL12.glTexImage3D(target, level, internalformat, width, height, depth, border, format, type, (ShortBuffer) pixels);
else if (pixels instanceof IntBuffer)
GL12.glTexImage3D(target, level, internalformat, width, height, depth, border, format, type, (IntBuffer) pixels);
else if (pixels instanceof FloatBuffer)
GL12.glTexImage3D(target, level, internalformat, width, height, depth, border, format, type, (FloatBuffer) pixels);
else if (pixels instanceof DoubleBuffer)
GL12.glTexImage3D(target, level, internalformat, width, height, depth, border, format, type, (DoubleBuffer) pixels);
else
throw new GdxRuntimeException("Can't use " + pixels.getClass().getName()
+ " with this method. Use ByteBuffer, ShortBuffer, IntBuffer, FloatBuffer or DoubleBuffer instead. Blame LWJGL");
}
@Override
public void texImage3D(int target, int level, int internalformat, int width, int height, int depth, int border, int format,
int type, int offset) {
GL12.glTexImage3D(target, level, internalformat, width, height, depth, border, format, type, offset);
}
@Override
public void texSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth,
int format, int type, Buffer pixels) {
if (pixels instanceof ByteBuffer)
GL12.glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, (ByteBuffer) pixels);
else if (pixels instanceof ShortBuffer)
GL12.glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, (ShortBuffer) pixels);
else if (pixels instanceof IntBuffer)
GL12.glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, (IntBuffer) pixels);
else if (pixels instanceof FloatBuffer)
GL12.glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, (FloatBuffer) pixels);
else if (pixels instanceof DoubleBuffer)
GL12.glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, (DoubleBuffer) pixels);
else
throw new GdxRuntimeException("Can't use " + pixels.getClass().getName()
+ " with this method. Use ByteBuffer, ShortBuffer, IntBuffer, FloatBuffer or DoubleBuffer instead. Blame LWJGL");
}
@Override
public void texSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth,
int format, int type, int offset) {
GL12.glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, offset);
}
@Override
public void copyTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int x, int y, int width,
int height) {
GL12.glCopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height);
}
@Override
public void genQueries(int n, int[] ids, int offset) {
for (int i = offset; i < offset + n; i++) {
ids[i] = GL15.glGenQueries();
}
}
@Override
public void genQueries(int n, IntBuffer ids) {
for (int i = 0; i < n; i++) {
ids.put(GL15.glGenQueries());
}
}
@Override
public void deleteQueries(int n, int[] ids, int offset) {
for (int i = offset; i < offset + n; i++) {
GL15.glDeleteQueries(ids[i]);
}
}
@Override
public void deleteQueries(int n, IntBuffer ids) {
for (int i = 0; i < n; i++) {
GL15.glDeleteQueries(ids.get());
}
}
@Override
public boolean isQuery(int id) {
return GL15.glIsQuery(id);
}
@Override
public void beginQuery(int target, int id) {
GL15.glBeginQuery(target, id);
}
@Override
public void endQuery(int target) {
GL15.glEndQuery(target);
}
@Override
public void getQueryiv(int target, int pname, IntBuffer params) {
GL15.glGetQuery(target, pname, params);
}
@Override
public void getQueryObjectuiv(int id, int pname, IntBuffer params) {
GL15.glGetQueryObjectu(id, pname, params);
}
@Override
public boolean unmapBuffer(int target) {
return GL15.glUnmapBuffer(target);
}
@Override
public Buffer getBufferPointerv(int target, int pname) {
return GL15.glGetBufferPointer(target, pname);
}
@Override
public void drawBuffers(int n, IntBuffer bufs) {
GL20.glDrawBuffers(bufs);
}
@Override
public void uniformMatrix2x3fv(int location, int count, boolean transpose, FloatBuffer value) {
GL21.glUniformMatrix2x3(location, transpose, value);
}
@Override
public void uniformMatrix3x2fv(int location, int count, boolean transpose, FloatBuffer value) {
GL21.glUniformMatrix3x2(location, transpose, value);
}
@Override
public void uniformMatrix2x4fv(int location, int count, boolean transpose, FloatBuffer value) {
GL21.glUniformMatrix2x4(location, transpose, value);
}
@Override
public void uniformMatrix4x2fv(int location, int count, boolean transpose, FloatBuffer value) {
GL21.glUniformMatrix4x2(location, transpose, value);
}
@Override
public void uniformMatrix3x4fv(int location, int count, boolean transpose, FloatBuffer value) {
GL21.glUniformMatrix3x4(location, transpose, value);
}
@Override
public void uniformMatrix4x3fv(int location, int count, boolean transpose, FloatBuffer value) {
GL21.glUniformMatrix4x3(location, transpose, value);
}
@Override
public void blitFramebuffer(int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0, int dstX1, int dstY1,
int mask, int filter) {
org.lwjgl.opengl.GL30.glBlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
}
@Override
public void bindFramebuffer(int target, int framebuffer) {
org.lwjgl.opengl.GL30.glBindFramebuffer(target, framebuffer);
}
@Override
public void bindRenderbuffer(int target, int renderbuffer) {
org.lwjgl.opengl.GL30.glBindRenderbuffer(target, renderbuffer);
}
@Override
public int checkFramebufferStatus(int target) {
return org.lwjgl.opengl.GL30.glCheckFramebufferStatus(target);
}
@Override
public void deleteFramebuffers(int n, IntBuffer framebuffers) {
org.lwjgl.opengl.GL30.glDeleteFramebuffers(framebuffers);
}
@Override
public void deleteFramebuffer(int framebuffer) {
org.lwjgl.opengl.GL30.glDeleteFramebuffers(framebuffer);
}
@Override
public void deleteRenderbuffers(int n, IntBuffer renderbuffers) {
org.lwjgl.opengl.GL30.glDeleteRenderbuffers(renderbuffers);
}
@Override
public void deleteRenderbuffer(int renderbuffer) {
org.lwjgl.opengl.GL30.glDeleteRenderbuffers(renderbuffer);
}
@Override
public void generateMipmap(int target) {
org.lwjgl.opengl.GL30.glGenerateMipmap(target);
}
@Override
public void genFramebuffers(int n, IntBuffer framebuffers) {
org.lwjgl.opengl.GL30.glGenFramebuffers(framebuffers);
}
@Override
public int genFramebuffer() {
return org.lwjgl.opengl.GL30.glGenFramebuffers();
}
@Override
public void genRenderbuffers(int n, IntBuffer renderbuffers) {
org.lwjgl.opengl.GL30.glGenRenderbuffers(renderbuffers);
}
@Override
public int genRenderbuffer() {
return org.lwjgl.opengl.GL30.glGenRenderbuffers();
}
@Override
public void getRenderbufferParameteriv(int target, int pname, IntBuffer params) {
org.lwjgl.opengl.GL30.glGetRenderbufferParameter(target, pname, params);
}
@Override
public boolean isFramebuffer(int framebuffer) {
return org.lwjgl.opengl.GL30.glIsFramebuffer(framebuffer);
}
@Override
public boolean isRenderbuffer(int renderbuffer) {
return org.lwjgl.opengl.GL30.glIsRenderbuffer(renderbuffer);
}
@Override
public void renderbufferStorage(int target, int internalformat, int width, int height) {
org.lwjgl.opengl.GL30.glRenderbufferStorage(target, internalformat, width, height);
}
@Override
public void renderbufferStorageMultisample(int target, int samples, int internalformat, int width, int height) {
org.lwjgl.opengl.GL30.glRenderbufferStorageMultisample(target, samples, internalformat, width, height);
}
@Override
public void framebufferTexture2D(int target, int attachment, int textarget, int texture, int level) {
org.lwjgl.opengl.GL30.glFramebufferTexture2D(target, attachment, textarget, texture, level);
}
@Override
public void framebufferRenderbuffer(int target, int attachment, int renderbuffertarget, int renderbuffer) {
org.lwjgl.opengl.GL30.glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer);
}
@Override
public void framebufferTextureLayer(int target, int attachment, int texture, int level, int layer) {
org.lwjgl.opengl.GL30.glFramebufferTextureLayer(target, attachment, texture, level, layer);
}
@Override
public void flushMappedBufferRange(int target, int offset, int length) {
org.lwjgl.opengl.GL30.glFlushMappedBufferRange(target, offset, length);
}
@Override
public void bindVertexArray(int array) {
org.lwjgl.opengl.GL30.glBindVertexArray(array);
}
@Override
public void deleteVertexArrays(int n, int[] arrays, int offset) {
for (int i = offset; i < offset + n; i++) {
org.lwjgl.opengl.GL30.glDeleteVertexArrays(arrays[i]);
}
}
@Override
public void deleteVertexArrays(int n, IntBuffer arrays) {
org.lwjgl.opengl.GL30.glDeleteVertexArrays(arrays);
}
@Override
public void genVertexArrays(int n, int[] arrays, int offset) {
for (int i = offset; i < offset + n; i++) {
arrays[i] = org.lwjgl.opengl.GL30.glGenVertexArrays();
}
}
@Override
public void genVertexArrays(int n, IntBuffer arrays) {
org.lwjgl.opengl.GL30.glGenVertexArrays(arrays);
}
@Override
public boolean isVertexArray(int array) {
return org.lwjgl.opengl.GL30.glIsVertexArray(array);
}
@Override
public void beginTransformFeedback(int primitiveMode) {
org.lwjgl.opengl.GL30.glBeginTransformFeedback(primitiveMode);
}
@Override
public void endTransformFeedback() {
org.lwjgl.opengl.GL30.glEndTransformFeedback();
}
@Override
public void bindBufferRange(int target, int index, int buffer, int offset, int size) {
org.lwjgl.opengl.GL30.glBindBufferRange(target, index, buffer, offset, size);
}
@Override
public void bindBufferBase(int target, int index, int buffer) {
org.lwjgl.opengl.GL30.glBindBufferBase(target, index, buffer);
}
@Override
public void transformFeedbackVaryings(int program, String[] varyings, int bufferMode) {
org.lwjgl.opengl.GL30.glTransformFeedbackVaryings(program, varyings, bufferMode);
}
@Override
public void vertexAttribIPointer(int index, int size, int type, int stride, int offset) {
org.lwjgl.opengl.GL30.glVertexAttribIPointer(index, size, type, stride, offset);
}
@Override
public void getVertexAttribIiv(int index, int pname, IntBuffer params) {
org.lwjgl.opengl.GL30.glGetVertexAttribI(index, pname, params);
}
@Override
public void getVertexAttribIuiv(int index, int pname, IntBuffer params) {
org.lwjgl.opengl.GL30.glGetVertexAttribIu(index, pname, params);
}
@Override
public void vertexAttribI4i(int index, int x, int y, int z, int w) {
org.lwjgl.opengl.GL30.glVertexAttribI4i(index, x, y, z, w);
}
@Override
public void vertexAttribI4ui(int index, int x, int y, int z, int w) {
org.lwjgl.opengl.GL30.glVertexAttribI4ui(index, x, y, z, w);
}
@Override
public void getUniformuiv(int program, int location, IntBuffer params) {
org.lwjgl.opengl.GL30.glGetUniformu(program, location, params);
}
@Override
public int getFragDataLocation(int program, String name) {
return org.lwjgl.opengl.GL30.glGetFragDataLocation(program, name);
}
@Override
public void uniform1uiv(int location, int count, IntBuffer value) {
org.lwjgl.opengl.GL30.glUniform1u(location, value);
}
@Override
public void uniform3uiv(int location, int count, IntBuffer value) {
org.lwjgl.opengl.GL30.glUniform3u(location, value);
}
@Override
public void uniform4uiv(int location, int count, IntBuffer value) {
org.lwjgl.opengl.GL30.glUniform4u(location, value);
}
@Override
public void clearBufferiv(int buffer, int drawbuffer, IntBuffer value) {
org.lwjgl.opengl.GL30.glClearBuffer(buffer, drawbuffer, value);
}
@Override
public void clearBufferuiv(int buffer, int drawbuffer, IntBuffer value) {
org.lwjgl.opengl.GL30.glClearBufferu(buffer, drawbuffer, value);
}
@Override
public void clearBufferfv(int buffer, int drawbuffer, FloatBuffer value) {
org.lwjgl.opengl.GL30.glClearBuffer(buffer, drawbuffer, value);
}
@Override
public void clearBufferfi(int buffer, int drawbuffer, float depth, int stencil) {
org.lwjgl.opengl.GL30.glClearBufferfi(buffer, drawbuffer, depth, stencil);
}
@Override
public String getStringi(int name, int index) {
return org.lwjgl.opengl.GL30.glGetStringi(name, index);
}
@Override
public void copyBufferSubData(int readTarget, int writeTarget, int readOffset, int writeOffset, int size) {
GL31.glCopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size);
}
@Override
public void getUniformIndices(int program, String[] uniformNames, IntBuffer uniformIndices) {
GL31.glGetUniformIndices(program, uniformNames, uniformIndices);
}
@Override
public void getActiveUniformsiv(int program, int uniformCount, IntBuffer uniformIndices, int pname, IntBuffer params) {
GL31.glGetActiveUniforms(program, uniformIndices, pname, params);
}
@Override
public int getUniformBlockIndex(int program, String uniformBlockName) {
return GL31.glGetUniformBlockIndex(program, uniformBlockName);
}
@Override
public void getActiveUniformBlockiv(int program, int uniformBlockIndex, int pname, IntBuffer params) {
params.put(GL31.glGetActiveUniformBlocki(program, uniformBlockIndex, pname));
}
@Override
public void getActiveUniformBlockName(int program, int uniformBlockIndex, Buffer length, Buffer uniformBlockName) {
GL31.glGetActiveUniformBlockName(program, uniformBlockIndex, (IntBuffer) length, (ByteBuffer) uniformBlockName);
}
@Override
public String getActiveUniformBlockName(int program, int uniformBlockIndex) {
return GL31.glGetActiveUniformBlockName(program, uniformBlockIndex, 1024);
}
@Override
public void uniformBlockBinding(int program, int uniformBlockIndex, int uniformBlockBinding) {
GL31.glUniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding);
}
@Override
public void drawArraysInstanced(int mode, int first, int count, int instanceCount) {
GL31.glDrawArraysInstanced(mode, first, count, instanceCount);
}
@Override
public void drawElementsInstanced(int mode, int count, int type, int indicesOffset, int instanceCount) {
GL31.glDrawElementsInstanced(mode, count, type, indicesOffset, instanceCount);
}
@Override
public void getInteger64v(int pname, LongBuffer params) {
GL32.glGetInteger64(pname, params);
}
@Override
public void getBufferParameteri64v(int target, int pname, LongBuffer params) {
params.put(GL32.glGetBufferParameteri64(target, pname));
}
@Override
public void genSamplers(int count, int[] samplers, int offset) {
for (int i = offset; i < offset + count; i++) {
samplers[i] = GL33.glGenSamplers();
}
}
@Override
public void genSamplers(int count, IntBuffer samplers) {
GL33.glGenSamplers(samplers);
}
@Override
public void deleteSamplers(int count, int[] samplers, int offset) {
for (int i = offset; i < offset + count; i++) {
GL33.glDeleteSamplers(samplers[i]);
}
}
@Override
public void deleteSamplers(int count, IntBuffer samplers) {
GL33.glDeleteSamplers(samplers);
}
@Override
public boolean isSampler(int sampler) {
return GL33.glIsSampler(sampler);
}
@Override
public void bindSampler(int unit, int sampler) {
GL33.glBindSampler(unit, sampler);
}
@Override
public void samplerParameteri(int sampler, int pname, int param) {
GL33.glSamplerParameteri(sampler, pname, param);
}
@Override
public void samplerParameteriv(int sampler, int pname, IntBuffer param) {
GL33.glSamplerParameter(sampler, pname, param);
}
@Override
public void samplerParameterf(int sampler, int pname, float param) {
GL33.glSamplerParameterf(sampler, pname, param);
}
@Override
public void samplerParameterfv(int sampler, int pname, FloatBuffer param) {
GL33.glSamplerParameter(sampler, pname, param);
}
@Override
public void getSamplerParameteriv(int sampler, int pname, IntBuffer params) {
GL33.glGetSamplerParameterI(sampler, pname, params);
}
@Override
public void getSamplerParameterfv(int sampler, int pname, FloatBuffer params) {
GL33.glGetSamplerParameter(sampler, pname, params);
}
@Override
public void vertexAttribDivisor(int index, int divisor) {
GL33.glVertexAttribDivisor(index, divisor);
}
@Override
public void bindTransformFeedback(int target, int id) {
GL40.glBindTransformFeedback(target, id);
}
@Override
public void deleteTransformFeedbacks(int n, int[] ids, int offset) {
for (int i = offset; i < offset + n; i++) {
GL40.glDeleteTransformFeedbacks(ids[i]);
}
}
@Override
public void deleteTransformFeedbacks(int n, IntBuffer ids) {
GL40.glDeleteTransformFeedbacks(ids);
}
@Override
public void genTransformFeedbacks(int n, int[] ids, int offset) {
for (int i = offset; i < offset + n; i++) {
ids[i] = GL40.glGenTransformFeedbacks();
}
}
@Override
public void genTransformFeedbacks(int n, IntBuffer ids) {
GL40.glGenTransformFeedbacks(ids);
}
@Override
public boolean isTransformFeedback(int id) {
return GL40.glIsTransformFeedback(id);
}
@Override
public void pauseTransformFeedback() {
GL40.glPauseTransformFeedback();
}
@Override
public void resumeTransformFeedback() {
GL40.glResumeTransformFeedback();
}
@Override
public void programParameteri(int program, int pname, int value) {
GL41.glProgramParameteri(program, pname, value);
}
@Override
public void invalidateFramebuffer(int target, int numAttachments, IntBuffer attachments) {
GL43.glInvalidateFramebuffer(target, attachments);
}
@Override
public void invalidateSubFramebuffer(int target, int numAttachments, IntBuffer attachments, int x, int y, int width,
int height) {
GL43.glInvalidateSubFramebuffer(target, attachments, x, y, width, height);
}
}

View File

@ -0,0 +1,506 @@
/*
* Copyright 2019 Gustl22
*
* This program is free software: you can redistribute it and/or modify it under the
* terms of the GNU Lesser General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
* PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.oscim.ios.backend;
import com.badlogic.gdx.backends.iosrobovm.IOSGLES30;
import org.oscim.backend.GL30;
import java.nio.Buffer;
import java.nio.FloatBuffer;
import java.nio.IntBuffer;
import java.nio.LongBuffer;
/**
* iOS specific implementation of {@link GL30}.
*/
public class IosGL30 extends IosGL implements GL30 {
private static final IOSGLES30 iOSGL = new IOSGLES30();
@Override
public void readBuffer(int mode) {
iOSGL.glReadBuffer(mode);
}
@Override
public void drawRangeElements(int mode, int start, int end, int count, int type, Buffer indices) {
iOSGL.glDrawRangeElements(mode, start, end, count, type, indices);
}
@Override
public void drawRangeElements(int mode, int start, int end, int count, int type, int offset) {
iOSGL.glDrawRangeElements(mode, start, end, count, type, offset);
}
@Override
public void texImage3D(int target, int level, int internalformat, int width, int height, int depth, int border, int format, int type, Buffer pixels) {
iOSGL.glTexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels);
}
@Override
public void texImage3D(int target, int level, int internalformat, int width, int height, int depth, int border, int format, int type, int offset) {
iOSGL.glTexImage3D(target, level, internalformat, width, height, depth, border, format, type, offset);
}
@Override
public void texSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, Buffer pixels) {
iOSGL.glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
}
@Override
public void texSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, int offset) {
iOSGL.glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, offset);
}
@Override
public void copyTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int x, int y, int width, int height) {
iOSGL.glCopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height);
}
@Override
public void genQueries(int n, int[] ids, int offset) {
iOSGL.glGenQueries(n, ids, offset);
}
@Override
public void genQueries(int n, IntBuffer ids) {
iOSGL.glGenQueries(n, ids);
}
@Override
public void deleteQueries(int n, int[] ids, int offset) {
iOSGL.glDeleteQueries(n, ids, offset);
}
@Override
public void deleteQueries(int n, IntBuffer ids) {
iOSGL.glDeleteQueries(n, ids);
}
@Override
public boolean isQuery(int id) {
iOSGL.glIsQuery(id);
return false;
}
@Override
public void beginQuery(int target, int id) {
iOSGL.glBeginQuery(target, id);
}
@Override
public void endQuery(int target) {
iOSGL.glEndQuery(target);
}
@Override
public void getQueryiv(int target, int pname, IntBuffer params) {
iOSGL.glGetQueryiv(target, pname, params);
}
@Override
public void getQueryObjectuiv(int id, int pname, IntBuffer params) {
iOSGL.glGetQueryObjectuiv(id, pname, params);
}
@Override
public boolean unmapBuffer(int target) {
iOSGL.glUnmapBuffer(target);
return false;
}
@Override
public Buffer getBufferPointerv(int target, int pname) {
iOSGL.glGetBufferPointerv(target, pname);
return null;
}
@Override
public void drawBuffers(int n, IntBuffer bufs) {
iOSGL.glDrawBuffers(n, bufs);
}
@Override
public void uniformMatrix2x3fv(int location, int count, boolean transpose, FloatBuffer value) {
iOSGL.glUniformMatrix2x3fv(location, count, transpose, value);
}
@Override
public void uniformMatrix3x2fv(int location, int count, boolean transpose, FloatBuffer value) {
iOSGL.glUniformMatrix3x2fv(location, count, transpose, value);
}
@Override
public void uniformMatrix2x4fv(int location, int count, boolean transpose, FloatBuffer value) {
iOSGL.glUniformMatrix2x4fv(location, count, transpose, value);
}
@Override
public void uniformMatrix4x2fv(int location, int count, boolean transpose, FloatBuffer value) {
iOSGL.glUniformMatrix4x2fv(location, count, transpose, value);
}
@Override
public void uniformMatrix3x4fv(int location, int count, boolean transpose, FloatBuffer value) {
iOSGL.glUniformMatrix3x4fv(location, count, transpose, value);
}
@Override
public void uniformMatrix4x3fv(int location, int count, boolean transpose, FloatBuffer value) {
iOSGL.glUniformMatrix4x3fv(location, count, transpose, value);
}
@Override
public void blitFramebuffer(int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0, int dstX1, int dstY1, int mask, int filter) {
iOSGL.glBlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
}
@Override
public void renderbufferStorageMultisample(int target, int samples, int internalformat, int width, int height) {
iOSGL.glRenderbufferStorageMultisample(target, samples, internalformat, width, height);
}
@Override
public void framebufferTextureLayer(int target, int attachment, int texture, int level, int layer) {
iOSGL.glFramebufferTextureLayer(target, attachment, texture, level, layer);
}
@Override
public void flushMappedBufferRange(int target, int offset, int length) {
iOSGL.glFlushMappedBufferRange(target, offset, length);
}
@Override
public void bindVertexArray(int array) {
iOSGL.glBindVertexArray(array);
}
@Override
public void deleteVertexArrays(int n, int[] arrays, int offset) {
iOSGL.glDeleteVertexArrays(n, arrays, offset);
}
@Override
public void deleteVertexArrays(int n, IntBuffer arrays) {
iOSGL.glDeleteVertexArrays(n, arrays);
}
@Override
public void genVertexArrays(int n, int[] arrays, int offset) {
iOSGL.glGenVertexArrays(n, arrays, offset);
}
@Override
public void genVertexArrays(int n, IntBuffer arrays) {
iOSGL.glGenVertexArrays(n, arrays);
}
@Override
public boolean isVertexArray(int array) {
iOSGL.glIsVertexArray(array);
return false;
}
@Override
public void beginTransformFeedback(int primitiveMode) {
iOSGL.glBeginTransformFeedback(primitiveMode);
}
@Override
public void endTransformFeedback() {
iOSGL.glEndTransformFeedback();
}
@Override
public void bindBufferRange(int target, int index, int buffer, int offset, int size) {
iOSGL.glBindBufferRange(target, index, buffer, offset, size);
}
@Override
public void bindBufferBase(int target, int index, int buffer) {
iOSGL.glBindBufferBase(target, index, buffer);
}
@Override
public void transformFeedbackVaryings(int program, String[] varyings, int bufferMode) {
iOSGL.glTransformFeedbackVaryings(program, varyings, bufferMode);
}
@Override
public void vertexAttribIPointer(int index, int size, int type, int stride, int offset) {
iOSGL.glVertexAttribIPointer(index, size, type, stride, offset);
}
@Override
public void getVertexAttribIiv(int index, int pname, IntBuffer params) {
iOSGL.glGetVertexAttribIiv(index, pname, params);
}
@Override
public void getVertexAttribIuiv(int index, int pname, IntBuffer params) {
iOSGL.glGetVertexAttribIuiv(index, pname, params);
}
@Override
public void vertexAttribI4i(int index, int x, int y, int z, int w) {
iOSGL.glVertexAttribI4i(index, x, y, z, w);
}
@Override
public void vertexAttribI4ui(int index, int x, int y, int z, int w) {
iOSGL.glVertexAttribI4ui(index, x, y, z, w);
}
@Override
public void getUniformuiv(int program, int location, IntBuffer params) {
iOSGL.glGetUniformuiv(program, location, params);
}
@Override
public int getFragDataLocation(int program, String name) {
iOSGL.glGetFragDataLocation(program, name);
return 0;
}
@Override
public void uniform1uiv(int location, int count, IntBuffer value) {
iOSGL.glUniform1uiv(location, count, value);
}
@Override
public void uniform3uiv(int location, int count, IntBuffer value) {
iOSGL.glUniform3uiv(location, count, value);
}
@Override
public void uniform4uiv(int location, int count, IntBuffer value) {
iOSGL.glUniform4uiv(location, count, value);
}
@Override
public void clearBufferiv(int buffer, int drawbuffer, IntBuffer value) {
iOSGL.glClearBufferiv(buffer, drawbuffer, value);
}
@Override
public void clearBufferuiv(int buffer, int drawbuffer, IntBuffer value) {
iOSGL.glClearBufferuiv(buffer, drawbuffer, value);
}
@Override
public void clearBufferfv(int buffer, int drawbuffer, FloatBuffer value) {
iOSGL.glClearBufferfv(buffer, drawbuffer, value);
}
@Override
public void clearBufferfi(int buffer, int drawbuffer, float depth, int stencil) {
iOSGL.glClearBufferfi(buffer, drawbuffer, depth, stencil);
}
@Override
public String getStringi(int name, int index) {
iOSGL.glGetStringi(name, index);
return null;
}
@Override
public void copyBufferSubData(int readTarget, int writeTarget, int readOffset, int writeOffset, int size) {
iOSGL.glCopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size);
}
@Override
public void getUniformIndices(int program, String[] uniformNames, IntBuffer uniformIndices) {
iOSGL.glGetUniformIndices(program, uniformNames, uniformIndices);
}
@Override
public void getActiveUniformsiv(int program, int uniformCount, IntBuffer uniformIndices, int pname, IntBuffer params) {
iOSGL.glGetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params);
}
@Override
public int getUniformBlockIndex(int program, String uniformBlockName) {
return
iOSGL.glGetUniformBlockIndex(program, uniformBlockName);
}
@Override
public void getActiveUniformBlockiv(int program, int uniformBlockIndex, int pname, IntBuffer params) {
iOSGL.glGetActiveUniformBlockiv(program, uniformBlockIndex, pname,
params);
}
@Override
public void getActiveUniformBlockName(int program, int uniformBlockIndex, Buffer length, Buffer uniformBlockName) {
iOSGL.glGetActiveUniformBlockName(program, uniformBlockIndex, length,
uniformBlockName);
}
@Override
public String getActiveUniformBlockName(int program, int uniformBlockIndex) {
iOSGL.glGetActiveUniformBlockName(program, uniformBlockIndex);
return null;
}
@Override
public void uniformBlockBinding(int program, int uniformBlockIndex, int uniformBlockBinding) {
iOSGL.glUniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding);
}
@Override
public void drawArraysInstanced(int mode, int first, int count, int instanceCount) {
iOSGL.glDrawArraysInstanced(mode, first, count, instanceCount);
}
@Override
public void drawElementsInstanced(int mode, int count, int type, int indicesOffset, int instanceCount) {
iOSGL.glDrawElementsInstanced(mode, count, type, indicesOffset,
instanceCount);
}
@Override
public void getInteger64v(int pname, LongBuffer params) {
iOSGL.glGetInteger64v(pname, params);
}
@Override
public void getBufferParameteri64v(int target, int pname, LongBuffer params) {
iOSGL.glGetBufferParameteri64v(target, pname, params);
}
@Override
public void genSamplers(int count, int[] samplers, int offset) {
iOSGL.glGenSamplers(count, samplers, offset);
}
@Override
public void genSamplers(int count, IntBuffer samplers) {
iOSGL.glGenSamplers(count, samplers);
}
@Override
public void deleteSamplers(int count, int[] samplers, int offset) {
iOSGL.glDeleteSamplers(count, samplers, offset);
}
@Override
public void deleteSamplers(int count, IntBuffer samplers) {
iOSGL.glDeleteSamplers(count, samplers);
}
@Override
public boolean isSampler(int sampler) {
iOSGL.glIsSampler(sampler);
return false;
}
@Override
public void bindSampler(int unit, int sampler) {
iOSGL.glBindSampler(unit, sampler);
}
@Override
public void samplerParameteri(int sampler, int pname, int param) {
iOSGL.glSamplerParameteri(sampler, pname, param);
}
@Override
public void samplerParameteriv(int sampler, int pname, IntBuffer param) {
iOSGL.glSamplerParameteriv(sampler, pname, param);
}
@Override
public void samplerParameterf(int sampler, int pname, float param) {
iOSGL.glSamplerParameterf(sampler, pname, param);
}
@Override
public void samplerParameterfv(int sampler, int pname, FloatBuffer param) {
iOSGL.glSamplerParameterfv(sampler, pname, param);
}
@Override
public void getSamplerParameteriv(int sampler, int pname, IntBuffer params) {
iOSGL.glGetSamplerParameteriv(sampler, pname, params);
}
@Override
public void getSamplerParameterfv(int sampler, int pname, FloatBuffer params) {
iOSGL.glGetSamplerParameterfv(sampler, pname, params);
}
@Override
public void vertexAttribDivisor(int index, int divisor) {
iOSGL.glVertexAttribDivisor(index, divisor);
}
@Override
public void bindTransformFeedback(int target, int id) {
iOSGL.glBindTransformFeedback(target, id);
}
@Override
public void deleteTransformFeedbacks(int n, int[] ids, int offset) {
iOSGL.glDeleteTransformFeedbacks(n, ids, offset);
}
@Override
public void deleteTransformFeedbacks(int n, IntBuffer ids) {
iOSGL.glDeleteTransformFeedbacks(n, ids);
}
@Override
public void genTransformFeedbacks(int n, int[] ids, int offset) {
iOSGL.glGenTransformFeedbacks(n, ids, offset);
}
@Override
public void genTransformFeedbacks(int n, IntBuffer ids) {
iOSGL.glGenTransformFeedbacks(n, ids);
}
@Override
public boolean isTransformFeedback(int id) {
iOSGL.glIsTransformFeedback(id);
return false;
}
@Override
public void pauseTransformFeedback() {
iOSGL.glPauseTransformFeedback();
}
@Override
public void resumeTransformFeedback() {
iOSGL.glResumeTransformFeedback();
}
@Override
public void programParameteri(int program, int pname, int value) {
iOSGL.glProgramParameteri(program, pname, value);
}
@Override
public void invalidateFramebuffer(int target, int numAttachments, IntBuffer attachments) {
iOSGL.glInvalidateFramebuffer(target, numAttachments, attachments);
}
@Override
public void invalidateSubFramebuffer(int target, int numAttachments, IntBuffer attachments, int x, int y, int width, int height) {
iOSGL.glInvalidateSubFramebuffer(target, numAttachments, attachments,
x, y, width, height);
}
}

File diff suppressed because it is too large Load Diff