@Override public String glGetShaderInfoLog(int shader, int maxSize) { ByteBuffer buffer = ByteBuffer.allocateDirect(maxSize); buffer.order(ByteOrder.nativeOrder()); ByteBuffer tmp = ByteBuffer.allocateDirect(4); tmp.order(ByteOrder.nativeOrder()); IntBuffer intBuffer = tmp.asIntBuffer(); GLContext.getCurrentGL().getGL2ES2().glGetShaderInfoLog(shader, maxSize, intBuffer, buffer); int numBytes = intBuffer.get(0); byte[] bytes = new byte[numBytes]; buffer.get(bytes); return new String(bytes); }
@Override public int glGetUniformLocation(int param1, String param2) { // JOGL 2.0 doesn't need a null-terminated string return GLContext.getCurrentGL().getGL2ES2().glGetUniformLocation(param1, param2); }
@Override public int glCreateProgram() { return GLContext.getCurrentGL().getGL2ES2().glCreateProgram(); }
@Override public int glCreateShader(int param1) { return GLContext.getCurrentGL().getGL2ES2().glCreateShader(param1); }
@Override public void glUniform3f(int param1, float param2, float param3, float param4) { GLContext.getCurrentGL().getGL2ES2().glUniform3f(param1, param2, param3, param4); }
@Override public int glGetQueryObjectiv(int query, int pname) { IntBuffer buff = IntBuffer.allocate(1); GLContext.getCurrentGL().getGL2ES2().glGetQueryObjectiv(query, pname, buff); return buff.get(0); }
@Override public void glTexSubImage3D(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10, ByteBuffer param11) { checkLimit(param11); GLContext.getCurrentGL().getGL2ES2().glTexSubImage3D(param1, param2, param3, param4, param5, param6, param7, param8, param9, param10, param11); }
@Override public void glGetProgram(int param1, int param2, IntBuffer param3) { checkLimit(param3); GLContext.getCurrentGL().getGL2ES2().glGetProgramiv(param1, param2, param3); }
@Override public void glGetMultisample(int pname, int index, FloatBuffer val) { checkLimit(val); GLContext.getCurrentGL().getGL2ES2().glGetMultisamplefv(pname, index, val); }
@Override public void glDrawBuffers(IntBuffer bufs) { checkLimit(bufs); GLContext.getCurrentGL().getGL2ES2().glDrawBuffers(bufs.limit(), bufs); }
@Override public void glUniform1(int param1, IntBuffer param2) { checkLimit(param2); GLContext.getCurrentGL().getGL2ES2().glUniform1iv(param1, getLimitCount(param2, 1), param2); }
@Override public void glUniform1(int param1, FloatBuffer param2) { checkLimit(param2); GLContext.getCurrentGL().getGL2ES2().glUniform1fv(param1, getLimitCount(param2, 1), param2); }
@Override public void glUniform4(int param1, IntBuffer param2) { checkLimit(param2); GLContext.getCurrentGL().getGL2ES2().glUniform4iv(param1, getLimitCount(param2, 4), param2); }
@Override public void glCompressedTexImage3D(int param1, int param2, int param3, int param4, int param5, int param6, int param7, ByteBuffer param8) { checkLimit(param8); GLContext.getCurrentGL().getGL2ES2().glCompressedTexImage3D(param1, param2, param3, param4, param5, param6, param7, getLimitBytes(param8), param8); }
@Override public void glCompressedTexSubImage3D(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, ByteBuffer param10) { checkLimit(param10); GLContext.getCurrentGL().getGL2ES2().glCompressedTexSubImage3D(param1, param2, param3, param4, param5, param6, param7, param8, param9, getLimitBytes(param10), param10); }
@Override public void glUniform2(int param1, IntBuffer param2) { checkLimit(param2); GLContext.getCurrentGL().getGL2ES2().glUniform2iv(param1, getLimitCount(param2, 2), param2); }
@Override public void glUniform2(int param1, FloatBuffer param2) { checkLimit(param2); GLContext.getCurrentGL().getGL2ES2().glUniform2fv(param1, getLimitCount(param2, 2), param2); }
@Override public void glUniform3(int param1, IntBuffer param2) { checkLimit(param2); GLContext.getCurrentGL().getGL2ES2().glUniform3iv(param1, getLimitCount(param2, 3), param2); }
@Override public void glUniform4(int param1, FloatBuffer param2) { checkLimit(param2); GLContext.getCurrentGL().getGL2ES2().glUniform4fv(param1, getLimitCount(param2, 4), param2); }
@Override public void glUniformMatrix3(int param1, boolean param2, FloatBuffer param3) { checkLimit(param3); GLContext.getCurrentGL().getGL2ES2().glUniformMatrix3fv(param1, getLimitCount(param3, 3 * 3), param2, param3); }