void push(final GL11 gl, final ClipRegion clipRect) { if (count == 0) { gl.glEnable(GL10.GL_STENCIL_TEST); } regions[count++] = clipRect; }
public GLState(GL11 gl) { mGL = gl; // Disable unused state gl.glDisable(GL11.GL_LIGHTING); // Enable used features gl.glEnable(GL11.GL_DITHER); gl.glEnable(GL11.GL_SCISSOR_TEST); gl.glEnableClientState(GL10.GL_VERTEX_ARRAY); gl.glEnableClientState(GL10.GL_TEXTURE_COORD_ARRAY); gl.glEnable(GL11.GL_TEXTURE_2D); gl.glTexEnvf(GL11.GL_TEXTURE_ENV, GL11.GL_TEXTURE_ENV_MODE, GL11.GL_REPLACE); // Set the background color gl.glClearColor(0f, 0f, 0f, 0f); gl.glClearStencil(0); gl.glEnable(GL11.GL_BLEND); gl.glBlendFunc(GL11.GL_ONE, GL11.GL_ONE_MINUS_SRC_ALPHA); // We use 565 or 8888 format, so set the alignment to 2 bytes/pixel. gl.glPixelStorei(GL11.GL_UNPACK_ALIGNMENT, 2); }
public GLState(final GL11 gl) { mGL = gl; // Disable unused state gl.glDisable(GL10.GL_LIGHTING); // Enable used features gl.glEnable(GL10.GL_DITHER); gl.glEnableClientState(GL10.GL_VERTEX_ARRAY); gl.glEnableClientState(GL10.GL_TEXTURE_COORD_ARRAY); gl.glEnable(GL10.GL_TEXTURE_2D); gl.glTexEnvf(GL10.GL_TEXTURE_ENV, GL10.GL_TEXTURE_ENV_MODE, GL10.GL_REPLACE); // Set the background color gl.glClearColor(0f, 0f, 0f, 0f); gl.glClearStencil(0); gl.glEnable(GL10.GL_BLEND); gl.glBlendFunc(GL10.GL_ONE, GL10.GL_ONE_MINUS_SRC_ALPHA); // We use 565 or 8888 format, so set the alignment to 2 bytes/pixel. gl.glPixelStorei(GL10.GL_UNPACK_ALIGNMENT, 2); }
public void setTexture2DEnabled(boolean enabled) { if (mTexture2DEnabled == enabled) return; mTexture2DEnabled = enabled; if (enabled) { mGL.glEnable(GL11.GL_TEXTURE_2D); } else { mGL.glDisable(GL11.GL_TEXTURE_2D); } }
private void initialize() { final GL11 gl = mGL; // First create an nio buffer, then create a VBO from it. final int size = BOX_COORDINATES.length * Float.SIZE / Byte.SIZE; final FloatBuffer xyBuffer = allocateDirectNativeOrderBuffer(size).asFloatBuffer(); xyBuffer.put(BOX_COORDINATES, 0, BOX_COORDINATES.length).position(0); final int[] name = new int[1]; GLId.glGenBuffers(1, name, 0); mBoxCoords = name[0]; gl.glBindBuffer(GL11.GL_ARRAY_BUFFER, mBoxCoords); gl.glBufferData(GL11.GL_ARRAY_BUFFER, xyBuffer.capacity() * (Float.SIZE / Byte.SIZE), xyBuffer, GL11.GL_STATIC_DRAW); gl.glVertexPointer(2, GL10.GL_FLOAT, 0, 0); gl.glTexCoordPointer(2, GL10.GL_FLOAT, 0, 0); // Enable the texture coordinate array for Texture 1 gl.glClientActiveTexture(GL10.GL_TEXTURE1); gl.glTexCoordPointer(2, GL10.GL_FLOAT, 0, 0); gl.glClientActiveTexture(GL10.GL_TEXTURE0); gl.glEnableClientState(GL10.GL_TEXTURE_COORD_ARRAY); gl.glHint(GL10.GL_LINE_SMOOTH_HINT, GL10.GL_NICEST); gl.glHint(GL10.GL_POLYGON_SMOOTH_HINT, GL10.GL_NICEST); gl.glEnable(GL10.GL_LINE_SMOOTH); gl.glLineWidth(1.5f); gl.glEnable(GL10.GL_BLEND); gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA); // mMatrixValues and mAlpha will be initialized in setSize() }
public void setTextureTarget(final int target) { if (mTextureTarget == target) { return; } if (mTextureTarget != 0) { mGL.glDisable(mTextureTarget); } mTextureTarget = target; if (mTextureTarget != 0) { mGL.glEnable(mTextureTarget); } }
public void setBlendEnabled(final boolean enabled) { if (mBlendEnabled == enabled) { return; } mBlendEnabled = enabled; if (enabled) { mGL.glEnable(GL10.GL_BLEND); } else { mGL.glDisable(GL10.GL_BLEND); } } }
public void setBlendEnabled(boolean enabled) { if (mBlendEnabled == enabled) return; mBlendEnabled = enabled; if (enabled) { mGL.glEnable(GL11.GL_BLEND); } else { mGL.glDisable(GL11.GL_BLEND); } } }
public void setLineSmooth(boolean enabled) { if (mLineSmooth == enabled) return; mLineSmooth = enabled; if (enabled) { mGL.glEnable(GL11.GL_LINE_SMOOTH); } else { mGL.glDisable(GL11.GL_LINE_SMOOTH); } }
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); } }
return; gl.glEnable(GL11.GL_TEXTURE_2D);