@Override public void clearBuffer() { mGL.glClear(GL10.GL_COLOR_BUFFER_BIT); }
public void clearBuffer() { mGL.glClear(GL10.GL_COLOR_BUFFER_BIT); }
private void renderFace(GLCanvas canvas, RectF face, boolean pressed) { GL11 gl = canvas.getGLInstance(); if (pressed) { gl.glEnable(GL11.GL_STENCIL_TEST); gl.glClear(GL11.GL_STENCIL_BUFFER_BIT); gl.glStencilOp(GL11.GL_KEEP, GL11.GL_KEEP, GL11.GL_REPLACE); gl.glStencilFunc(GL11.GL_ALWAYS, 1, 1); } RectF r = mAnimation.mapRect(face, mRect); canvas.fillRect(r.left, r.top, r.width(), r.height(), Color.TRANSPARENT); canvas.drawRect(r.left, r.top, r.width(), r.height(), mFacePaint); if (pressed) { gl.glStencilOp(GL11.GL_KEEP, GL11.GL_KEEP, GL11.GL_KEEP); } }
gl.glClear(GL11.GL_STENCIL_BUFFER_BIT); gl.glStencilOp(GL11.GL_KEEP, GL11.GL_KEEP, GL11.GL_REPLACE); gl.glStencilFunc(GL11.GL_ALWAYS, 1, 1);
void drawClipRegions(final GL11 gl) { gl.glClear(GL10.GL_STENCIL_BUFFER_BIT); gl.glColorMask(false, false, false, false); gl.glStencilFunc(GL10.GL_ALWAYS, 1, ~0); gl.glStencilOp(GL10.GL_INCR, GL10.GL_INCR, GL10.GL_INCR); for (int i = 0; i < count; i++) { regions[i].draw(canvas); } gl.glColorMask(true, true, true, true); gl.glStencilFunc(GL10.GL_EQUAL, count, ~0); gl.glStencilOp(GL10.GL_KEEP, GL10.GL_KEEP, GL10.GL_KEEP); }