INNER CODE UNIT · Java
BindingRegistry
GiveJavaAChance/PolyrayGameEngine · src/polyray/BindingRegistry.java:6
public class BindingRegistry {
private static final HashMap<Integer, Integer> usedImageBindings = new HashMap<>();
private static final HashMap<Integer, Integer> usedBufferBindings = new HashMap<>();
public static int bindImageTexture(GLTexture texture, int level, boolean layered, int layer, int access) {
return bindImageTexture(texture, level, layered, layer, access, texture.format);
}
public static int bindImageTexture(GLTexture texture, int level, boolean layered, int layer, int access, int format) {
Integer currentBinding = usedImageBindings.get(texture.ID);
if (currentBinding != null) {
return currentBinding;
}
int binding = getNewBinding(usedImageBindings, glGetInteger(GL_MAX_IMAGE_UNITS));
if (binding == -1) {
System.err.println("No available image binding points!");
return -1;