mirror of
https://github.com/processing/processing4.git
synced 2026-02-11 01:29:17 +01:00
id of bound texture is stored in client side (PGL)
This commit is contained in:
@@ -362,6 +362,9 @@ public class PGL {
|
||||
/** Which texturing targets are enabled */
|
||||
protected static boolean[] texturingTargets = { false, false };
|
||||
|
||||
/** Which textures are bound to each target */
|
||||
protected static int[] boundTextures = { 0, 0 };
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// FBO for anti-aliased rendering
|
||||
@@ -1060,6 +1063,11 @@ public class PGL {
|
||||
|
||||
public void glBindTexture(int target, int id) {
|
||||
gl.glBindTexture(target, id);
|
||||
if (target == GL_TEXTURE_2D) {
|
||||
boundTextures[0] = id;
|
||||
} else if (target == GL_TEXTURE_RECTANGLE) {
|
||||
boundTextures[1] = id;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1729,6 +1737,17 @@ public class PGL {
|
||||
}
|
||||
|
||||
|
||||
public boolean textureIsBound(int target, int id) {
|
||||
if (target == GL_TEXTURE_2D) {
|
||||
return boundTextures[0] == id;
|
||||
} else if (target == GL_TEXTURE_RECTANGLE) {
|
||||
return boundTextures[1] == id;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void initTexture(int target, int format, int width, int height) {
|
||||
int[] texels = new int[width * height];
|
||||
glTexSubImage2D(target, 0, 0, 0, width, height, format, GL_UNSIGNED_BYTE, IntBuffer.wrap(texels));
|
||||
|
||||
Reference in New Issue
Block a user