diff --git a/android/core/src/processing/core/PGL.java b/android/core/src/processing/core/PGL.java index 3921efa3d..bd971fec8 100644 --- a/android/core/src/processing/core/PGL.java +++ b/android/core/src/processing/core/PGL.java @@ -459,19 +459,19 @@ public class PGL { public void initTex(int target, int format, int w, int h) { gl.glTexImage2D(target, 0, format, w, h, 0, GL10.GL_RGBA, GL10.GL_UNSIGNED_BYTE, null); } + + public void copyTexImage(Buffer image, int target, int format, int level, int w, int h) { + gl.glTexImage2D(target, level, format, w, h, 0, GL10.GL_RGBA, GL10.GL_UNSIGNED_BYTE, image); + } - public void copyTexSubImage(Buffer image, int target, int x, int y, int w, int h) { + public void copyTexSubImage(Buffer image, int target, int level, int x, int y, int w, int h) { gl.glTexSubImage2D(target, 0, x, y, w, h, GL10.GL_RGBA, GL10.GL_UNSIGNED_BYTE, image); } - public void copyTexSubPixels(int[] pixels, int target, int x, int y, int w, int h) { - gl.glTexSubImage2D(target, 0, x, y, w, h, GL10.GL_RGBA, GL10.GL_UNSIGNED_BYTE, IntBuffer.wrap(pixels)); + public void copyTexSubImage(int[] pixels, int target, int level, int x, int y, int w, int h) { + gl.glTexSubImage2D(target, level, x, y, w, h, GL10.GL_RGBA, GL10.GL_UNSIGNED_BYTE, IntBuffer.wrap(pixels)); } - public void copyTexImage(Buffer image, int target, int format, int w, int h) { - gl.glTexImage2D(target, 0, format, w, h, 0, GL10.GL_RGBA, GL10.GL_UNSIGNED_BYTE, image); - } - public void setTexEnvironmentMode(int mode) { //gl.glTexEnvi(GL10.GL_TEXTURE_ENV, GL10.GL_TEXTURE_ENV_MODE, mode); } diff --git a/java/libraries/opengl/src/processing/opengl/PFontTexture.java b/java/libraries/opengl/src/processing/opengl/PFontTexture.java index e10784b22..16305d6c4 100644 --- a/java/libraries/opengl/src/processing/opengl/PFontTexture.java +++ b/java/libraries/opengl/src/processing/opengl/PFontTexture.java @@ -347,7 +347,7 @@ class PFontTexture implements PConstants { void updateTex() { textures[texIndex].bind(); - textures[texIndex].setTexels(offsetX, crop[0] - 1, crop[1] + crop[3] - 1, crop[2] + 2, -crop[3] + 2, pixels); + textures[texIndex].setTexels(pixels, 0, crop[0] - 1, crop[1] + crop[3] - 1, crop[2] + 2, -crop[3] + 2); textures[texIndex].unbind(); } } diff --git a/java/libraries/opengl/src/processing/opengl/PFramebuffer.java b/java/libraries/opengl/src/processing/opengl/PFramebuffer.java index 66e421ae7..f95843b6e 100644 --- a/java/libraries/opengl/src/processing/opengl/PFramebuffer.java +++ b/java/libraries/opengl/src/processing/opengl/PFramebuffer.java @@ -521,7 +521,7 @@ public class PFramebuffer implements PConstants { protected void copyToTexture(IntBuffer buffer, int glid, int gltarget) { pgl.enableTexturing(gltarget); pgl.bindTexture(gltarget, glid); - pgl.copyTexSubImage(buffer, gltarget, 0, 0, width, height); + pgl.copyTexSubImage(buffer, gltarget, 0, 0, 0, width, height); pgl.unbindTexture(gltarget); pgl.disableTexturing(gltarget); } diff --git a/java/libraries/opengl/src/processing/opengl/PGL.java b/java/libraries/opengl/src/processing/opengl/PGL.java index 5cf91322e..83f403b9d 100644 --- a/java/libraries/opengl/src/processing/opengl/PGL.java +++ b/java/libraries/opengl/src/processing/opengl/PGL.java @@ -472,18 +472,18 @@ public class PGL { public void initTex(int target, int format, int w, int h) { gl.glTexImage2D(target, 0, format, w, h, 0, GL.GL_RGBA, GL.GL_UNSIGNED_BYTE, null); } - - public void copyTexSubImage(Buffer image, int target, int x, int y, int w, int h) { - gl.glTexSubImage2D(target, 0, x, y, w, h, GL.GL_RGBA, GL.GL_UNSIGNED_BYTE, image); - } - public void copyTexSubPixels(int[] pixels, int target, int x, int y, int w, int h) { - gl.glTexSubImage2D(target, 0, x, y, w, h, GL.GL_RGBA, GL.GL_UNSIGNED_BYTE, IntBuffer.wrap(pixels)); + public void copyTexImage(Buffer image, int target, int format, int level, int w, int h) { + gl.glTexImage2D(target, level, format, w, h, 0, GL.GL_RGBA, GL.GL_UNSIGNED_BYTE, image); } - public void copyTexImage(Buffer image, int target, int format, int w, int h) { - gl.glTexImage2D(target, 0, format, w, h, 0, GL.GL_RGBA, GL.GL_UNSIGNED_BYTE, image); + public void copyTexSubImage(Buffer image, int target, int level, int x, int y, int w, int h) { + gl.glTexSubImage2D(target, level, x, y, w, h, GL.GL_RGBA, GL.GL_UNSIGNED_BYTE, image); } + + public void copyTexSubImage(int[] pixels, int target, int level, int x, int y, int w, int h) { + gl.glTexSubImage2D(target, level, x, y, w, h, GL.GL_RGBA, GL.GL_UNSIGNED_BYTE, IntBuffer.wrap(pixels)); + } public void setTexEnvironmentMode(int mode) { gl2f.glTexEnvi(GL2.GL_TEXTURE_ENV, GL2.GL_TEXTURE_ENV_MODE, mode);