@Override public void bindTexture(int tex) { // TODO: track last bound texture, and avoid calling if it didn't change? gl.glBindTexture(GL_TEXTURE_2D, tex); if (STATS_ENABLED) stats.texBinds++; }
@Override public void generateMipmap(int tex) { gl.glBindTexture(GL_TEXTURE_2D, tex); gl.glGenerateMipmap(GL_TEXTURE_2D); }
void updateTexture(int tex, ImageElement img) { gl.glBindTexture(HtmlGL20.GL_TEXTURE_2D, tex); glc.texImage2D(TEXTURE_2D, 0, RGBA, RGBA, UNSIGNED_BYTE, img); }
void updateTexture(int tex, int width, int height, IntPtr data) { gl.glBindTexture(GL_TEXTURE_2D, tex); gl.glPixelStorei(GL_UNPACK_ALIGNMENT, 1); OpenGLES.glTexImage2Dp(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, data); } }
void updateTexture(int texture, Bitmap image) { gl.glBindTexture(GL20.GL_TEXTURE_2D, texture); GLUtils.texImage2D(GL20.GL_TEXTURE_2D, 0, image, 0); checkGLError("updateTexture end"); }
void updateTexture(int texture, Bitmap image) { gl.glBindTexture(GL20.GL_TEXTURE_2D, texture); GLUtils.texImage2D(GL20.GL_TEXTURE_2D, 0, image, 0); checkGLError("updateTexture end"); }
@Override public int createTexture(boolean repeatX, boolean repeatY, boolean mipmaps) { int[] tex = new int[1]; gl.glGenTextures(1, tex, 0); gl.glBindTexture(GL_TEXTURE_2D, tex[0]); gl.glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, magFilter); gl.glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, mipmapify(minFilter, mipmaps)); gl.glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, repeatX ? GL_REPEAT : GL_CLAMP_TO_EDGE); gl.glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, repeatY ? GL_REPEAT : GL_CLAMP_TO_EDGE); if (STATS_ENABLED) stats.texCreates++; return tex[0]; }