package com.mojang.blaze3d.resource; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; @Environment(EnvType.CLIENT) public interface GraphicsResourceAllocator { GraphicsResourceAllocator UNPOOLED = new GraphicsResourceAllocator() { @Override public T acquire(ResourceDescriptor descriptor) { T object = descriptor.allocate(); descriptor.prepare(object); return object; } @Override public void release(ResourceDescriptor descriptor, T value) { descriptor.free(value); } }; T acquire(ResourceDescriptor descriptor); void release(ResourceDescriptor descriptor, T value); }