SimpleJavaEngine/src/main/java/speiger/src/coreengine/rendering/texturesOld/base/NativeMemoryParser.java

24 lines
742 B
Java

package speiger.src.coreengine.rendering.texturesOld.base;
import java.io.Closeable;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.function.Consumer;
import org.lwjgl.system.MemoryUtil;
import speiger.src.coreengine.assets.base.IAssetParser;
public class NativeMemoryParser implements IAssetParser<ByteBuffer> {
public static final IAssetParser<ByteBuffer> INSTANCE = new NativeMemoryParser();
@Override
public ByteBuffer parseAsset(Path path, Consumer<Closeable> autoCloser) throws IOException {
byte[] data = Files.readAllBytes(path);
ByteBuffer buffer = MemoryUtil.memAlloc(data.length);
buffer.put(data);
buffer.flip();
return buffer;
}
}