Я пытаюсь импортировать файлы Collada (.dae), используя привязки Assimp, присутствующие в LWJGL 3. Это происходит следующим образом:
InputStream = Class.class.getResourceAsStream(path);
byte[] bytes = IOUtils.toByteArray(getInputStream());
ByteBuffer byteBuffer = BufferUtils.createByteBuffer(bytes.length + 1);
byteBuffer.put(bytes);
byteBuffer.put((byte) 0);
byteBuffer.flip();
AIScene scene;
try {
scene = Assimp.aiImportFile(byteBuffer, Assimp.aiProcess_Triangulate);
} catch (IOException e) {
e.printStackTrace();
}
Однако scene
всегда получается как null
. (IOUtils
взято из apache-commons-io, BufferUtils
взято из lwjgl.)
Я добавил часть byteBuffer.put(0)
, потому что без нее вызов Assimp всегда завершался бы выдачей исключения, говорящего, что байтовый буфер не завершается нулем. Я также пробовал много разных файлов, которые работают в другом программном обеспечении. Есть ли способ узнать, что именно не удалось при загрузке модели?