/** * Notes that this shader is no longer in use by a layer. This is used for reference counted * resource management. When all layers release a shader, it can destroy its shader programs and * release the GL resources it uses. */ public void release() { assert refs > 0 : "Released an shader with no references!"; if (--refs == 0) { clearProgram(); } }
public void run() { shader.clearProgram(); } });
public void init() { gl.glDisable(GL_CULL_FACE); gl.glEnable(GL_BLEND); gl.glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA); gl.glClearColor(0, 0, 0, 1); if (quadShader != null) { quadShader.clearProgram(); } if (trisShader != null) { trisShader.clearProgram(); } quadShader = createQuadShader(); trisShader = new IndexedTrisShader(this); checkGLError("initGL"); }