@Override public void glGetShader(int param1, int param2, IntBuffer param3) { checkLimit(param3); GLContext.getCurrentGL().getGL2ES2().glGetShaderiv(param1, param2, param3); }
@Override public void getShaderiv(int shader, int pname, IntBuffer params) { gl2.glGetShaderiv(shader, pname, params); }
@Override public String getShaderInfoLog(int shader) { int[] val = { 0 }; gl2.glGetShaderiv(shader, GL2ES2.GL_INFO_LOG_LENGTH, val, 0); int length = val[0]; byte[] log = new byte[length]; gl2.glGetShaderInfoLog(shader, length, val, 0, log, 0); return new String(log); }
protected void checkShaderThrowException(GL2ES2 gl, int shaderId) { int[] result = new int[1]; gl.glGetShaderiv(shaderId, GL2ES2.GL_COMPILE_STATUS, result, 0); if (result[0] == GL.GL_TRUE) { return; } gl.glGetShaderiv(shaderId, GL2ES2.GL_INFO_LOG_LENGTH, result, 0); int size = result[0]; byte[] data = new byte[size]; gl.glGetShaderInfoLog(shaderId, size, result, 0, data, 0); String error = new String(data, 0, result[0]); throw new ShaderException(error); }
protected void checkShaderThrowException(GL2ES2 gl, int shaderId) { int[] result = new int[1]; gl.glGetShaderiv(shaderId, GL2ES2.GL_COMPILE_STATUS, result, 0); if (result[0] == GL.GL_TRUE) { return; } gl.glGetShaderiv(shaderId, GL2ES2.GL_INFO_LOG_LENGTH, result, 0); int size = result[0]; byte[] data = new byte[size]; gl.glGetShaderInfoLog(shaderId, size, result, 0, data, 0); String error = new String(data, 0, result[0]); throw new ShaderException(error); }
public static boolean isShaderStatusValid(final GL _gl, final int shaderObj, final int name, final PrintStream verboseOut) { final GL2ES2 gl = _gl.getGL2ES2(); final int[] ires = new int[1]; gl.glGetShaderiv(shaderObj, name, ires, 0); final boolean res = ires[0]==1; if(!res && null!=verboseOut) { verboseOut.println("Shader status invalid: "+ getShaderInfoLog(gl, shaderObj)); } return res; }
public static String getShaderInfoLog(final GL _gl, final int shaderObj) { final GL2ES2 gl = _gl.getGL2ES2(); final int[] infoLogLength=new int[1]; gl.glGetShaderiv(shaderObj, GL2ES2.GL_INFO_LOG_LENGTH, infoLogLength, 0); if(infoLogLength[0]==0) { return "(no info log)"; } final int[] charsWritten=new int[1]; final byte[] infoLogBytes = new byte[infoLogLength[0]]; gl.glGetShaderInfoLog(shaderObj, infoLogLength[0], charsWritten, 0, infoLogBytes, 0); return new String(infoLogBytes, 0, charsWritten[0]); }
public static String getShaderInfoLog(final GL _gl, final int shaderObj) { final GL2ES2 gl = _gl.getGL2ES2(); final int[] infoLogLength=new int[1]; gl.glGetShaderiv(shaderObj, GL2ES2.GL_INFO_LOG_LENGTH, infoLogLength, 0); if(infoLogLength[0]==0) { return "(no info log)"; } final int[] charsWritten=new int[1]; final byte[] infoLogBytes = new byte[infoLogLength[0]]; gl.glGetShaderInfoLog(shaderObj, infoLogLength[0], charsWritten, 0, infoLogBytes, 0); return new String(infoLogBytes, 0, charsWritten[0]); }
public static boolean isShaderStatusValid(final GL _gl, final int shaderObj, final int name, final PrintStream verboseOut) { final GL2ES2 gl = _gl.getGL2ES2(); final int[] ires = new int[1]; gl.glGetShaderiv(shaderObj, name, ires, 0); final boolean res = ires[0]==1; if(!res && null!=verboseOut) { verboseOut.println("Shader status invalid: "+ getShaderInfoLog(gl, shaderObj)); } return res; }
@Override public void glGetShader(int param1, int param2, IntBuffer param3) { checkLimit(param3); GLContext.getCurrentGL().getGL2ES2().glGetShaderiv(param1, param2, param3); }