2017-02-20 58 views
0

我試着使用存在於LWJGL 3. Assimp綁定它發生這樣的導入指向COLLADA(.dae)文件:型號裝載通過LWJGL綁定失敗Assimp

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公地-10,BufferUtils是LWJGL。)

我加入了byteBuffer.put(0)一部分,因爲沒有它,Assimp通話將始終終止拋出一個異常說字節緩衝區是不是空終止。我也嘗試了許多不同的文件,可以在其他軟件中使用。有什麼方法可以找出加載模型時發生了什麼故障?

回答

1

我相信你必須使用函數aiImportFileFromMemory來代替,aiImportFile方法是直接從文件中加載。