package com.jme3.renderer.opengl; import java.nio.ByteBuffer; import java.nio.IntBuffer; public class GLDebugDesktop extends GLDebugES implements GL2, GL3, GL4 { private final GL2 gl2; private final GL3 gl3; private final GL4 gl4; public GLDebugDesktop(GL gl, GLExt glext, GLFbo glfbo) { super(gl, glext, glfbo); this.gl2 = gl instanceof GL2 ? (GL2) gl : null; this.gl3 = gl instanceof GL3 ? (GL3) gl : null; this.gl4 = gl instanceof GL4 ? (GL4) gl : null; } public void glAlphaFunc(int func, float ref) { gl2.glAlphaFunc(func, ref); checkError(); } public void glPointSize(float size) { gl2.glPointSize(size); checkError(); } public void glPolygonMode(int face, int mode) { gl2.glPolygonMode(face, mode); checkError(); } public void glDrawBuffer(int mode) { gl2.glDrawBuffer(mode); checkError(); } public void glReadBuffer(int mode) { gl2.glReadBuffer(mode); checkError(); } public void glCompressedTexImage3D(int target, int level, int internalformat, int width, int height, int depth, int border, ByteBuffer data) { gl2.glCompressedTexImage3D(target, level, internalformat, width, height, depth, border, data); checkError(); } public void glCompressedTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, ByteBuffer data) { gl2.glCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, data); checkError(); } public void glTexImage3D(int target, int level, int internalFormat, int width, int height, int depth, int border, int format, int type, ByteBuffer data) { gl2.glTexImage3D(target, level, internalFormat, width, height, depth, border, format, type, data); checkError(); } public void glTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int type, ByteBuffer data) { gl2.glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, data); checkError(); } public void glBindFragDataLocation(int param1, int param2, String param3) { gl3.glBindFragDataLocation(param1, param2, param3); checkError(); } public void glBindVertexArray(int param1) { gl3.glBindVertexArray(param1); checkError(); } public void glGenVertexArrays(IntBuffer param1) { gl3.glGenVertexArrays(param1); checkError(); } @Override public String glGetString(int param1, int param2) { String result = gl3.glGetString(param1, param2); checkError(); return result; } @Override public void glDeleteVertexArrays(IntBuffer arrays) { gl3.glDeleteVertexArrays(arrays); checkError(); } @Override public void glPatchParameter(int count) { gl4.glPatchParameter(count); checkError(); } @Override public void glFramebufferTextureLayer(int param1, int param2, int param3, int param4, int param5) { gl3.glFramebufferTextureLayer(param1, param2, param3, param4, param5); checkError(); } public void glBlendEquationSeparate(int colorMode, int alphaMode) { gl.glBlendEquationSeparate(colorMode, alphaMode); checkError(); } }