private static void deleteShader(int id) { if (id != 0) { ARBShaderObjects.glDeleteObjectARB(id); } }
private static int createShader(String filename, int shaderType){ int shader = 0; try { shader = ARBShaderObjects.glCreateShaderObjectARB(shaderType); if(shader == 0) return 0; ARBShaderObjects.glShaderSourceARB(shader, readFileAsString(filename)); ARBShaderObjects.glCompileShaderARB(shader); if (ARBShaderObjects.glGetObjectParameteriARB(shader, ARBShaderObjects.GL_OBJECT_COMPILE_STATUS_ARB) == GL11.GL_FALSE) throw new RuntimeException("Error creating shader: " + getLogInfo(shader)); return shader; } catch(Exception e) { ARBShaderObjects.glDeleteObjectARB(shader); e.printStackTrace(); return -1; } }
@Override public void glDeleteProgram(int program) { ARBShaderObjects.glDeleteObjectARB(program); }
@Override public void glDeleteShader(int shader) { ARBShaderObjects.glDeleteObjectARB(shader); }
/** Removes the tessellation evaluation shader */ private static void removeTessEvalShader(final GLSLShaderObjectsState state) { if (state._tessellationEvaluationShaderID != -1) { ARBShaderObjects.glDetachObjectARB(state._programID, state._tessellationEvaluationShaderID); ARBShaderObjects.glDeleteObjectARB(state._tessellationEvaluationShaderID); } }
public void dispose() { //todo only if it has been used before! ARBShaderObjects.glDeleteObjectARB(programId()); } }
/** Removes the tessellation control shader */ private static void removeTessControlShader(final GLSLShaderObjectsState state) { if (state._tessellationControlShaderID != -1) { ARBShaderObjects.glDetachObjectARB(state._programID, state._tessellationControlShaderID); ARBShaderObjects.glDeleteObjectARB(state._tessellationControlShaderID); } }
/** Removes the geometry shader */ private static void removeGeomShader(final GLSLShaderObjectsState state) { if (state._geometryShaderID != -1) { ARBShaderObjects.glDetachObjectARB(state._programID, state._geometryShaderID); ARBShaderObjects.glDeleteObjectARB(state._geometryShaderID); } }
/** Removes the fragment shader */ private static void removeFragShader(final GLSLShaderObjectsState state) { if (state._fragmentShaderID != -1) { ARBShaderObjects.glDetachObjectARB(state._programID, state._fragmentShaderID); ARBShaderObjects.glDeleteObjectARB(state._fragmentShaderID); } }
/** * Removes the vertex shader */ private static void removeVertShader(final GLSLShaderObjectsState state) { if (state._vertexShaderID != -1) { ARBShaderObjects.glDetachObjectARB(state._programID, state._vertexShaderID); ARBShaderObjects.glDeleteObjectARB(state._vertexShaderID); } }
private static int createShader(String filename, int shaderType) { int shader = 0; try { shader = ARBShaderObjects.glCreateShaderObjectARB(shaderType); if (shader == 0) return 0; ARBShaderObjects.glShaderSourceARB(shader, readFileAsString(filename)); ARBShaderObjects.glCompileShaderARB(shader); if (ARBShaderObjects.glGetObjectParameteriARB(shader, ARBShaderObjects.GL_OBJECT_COMPILE_STATUS_ARB) == GL11.GL_FALSE) throw new RuntimeException("Error creating shader: " + getLogInfo(shader)); return shader; } catch (Exception e) { ARBShaderObjects.glDeleteObjectARB(shader); e.printStackTrace(); return -1; } }
private static int createShader(String filename, int shaderType){ int shader = 0; try { shader = ARBShaderObjects.glCreateShaderObjectARB(shaderType); if(shader == 0) return 0; ARBShaderObjects.glShaderSourceARB(shader, readFileAsString(filename)); ARBShaderObjects.glCompileShaderARB(shader); if (ARBShaderObjects.glGetObjectParameteriARB(shader, ARBShaderObjects.GL_OBJECT_COMPILE_STATUS_ARB) == GL11.GL_FALSE) throw new RuntimeException("Error creating shader: " + getLogInfo(shader)); return shader; } catch(Exception e) { ARBShaderObjects.glDeleteObjectARB(shader); e.printStackTrace(); return -1; } }
private static int createShader(String filename, int shaderType) { int shader = 0; try { shader = ARBShaderObjects.glCreateShaderObjectARB(shaderType); if (shader == 0) { return 0; } ARBShaderObjects.glShaderSourceARB(shader, readFileAsString(filename)); ARBShaderObjects.glCompileShaderARB(shader); if (ARBShaderObjects.glGetObjectParameteriARB(shader, ARBShaderObjects.GL_OBJECT_COMPILE_STATUS_ARB) == GL11.GL_FALSE) { throw new RuntimeException("Error creating shader: " + getLogInfo(shader)); } return shader; } catch (Exception e) { ARBShaderObjects.glDeleteObjectARB(shader); e.printStackTrace(); return -1; } }
if (ARBShaderObjects.glGetObjectParameteriARB(program, ARBShaderObjects.GL_OBJECT_LINK_STATUS_ARB) == GL11.GL_FALSE) { CoFHCore.LOG.error(getLogInfo(program)); ARBShaderObjects.glDeleteObjectARB(program); return 0; if (ARBShaderObjects.glGetObjectParameteriARB(program, ARBShaderObjects.GL_OBJECT_VALIDATE_STATUS_ARB) == GL11.GL_FALSE) { CoFHCore.LOG.error(getLogInfo(program)); ARBShaderObjects.glDeleteObjectARB(program); return 0;