Hi everyone!
First of all as this is my first post, if this topic is in the wrong section I am sorry!
I am very happy to find Assimp bindings in the 3.1.1 nightly builds, works perfectly well, easily reads meshes and data in but I have a problem reading in the nodes to build the skeleton. Already read in the weights of bones, their names from the AIMesh.
However when trying to access the children of the root node I get some weird errors:
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0000000002bec541, pid=1572, tid=0x0000000000001b18
#
# JRE version: Java(TM) SE Runtime Environment (8.0_112-b15) (build 1.8.0_112-b15)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.112-b15 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# J 507 C2 java.nio.DirectByteBuffer.get(I)B (16 bytes) @ 0x0000000002bec541 [0x0000000002bec500+0x41]
#
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
#
# An error report file with more information is saved as:
# C:\Users\LockTheCaptain\IdeaProjects\LWJGL_AWT_OpenGL\hs_err_pid1572.log
Compiled method (c1) 1532 800 % 3 org.lwjgl.system.MemoryTextUtil::decodeUTF8 @ 54 (464 bytes)
total in heap [0x0000000002c8c950,0x0000000002c8e250] = 6400
relocation [0x0000000002c8ca70,0x0000000002c8cb90] = 288
main code [0x0000000002c8cba0,0x0000000002c8da40] = 3744
stub code [0x0000000002c8da40,0x0000000002c8db68] = 296
oops [0x0000000002c8db68,0x0000000002c8db70] = 8
metadata [0x0000000002c8db70,0x0000000002c8db78] = 8
scopes data [0x0000000002c8db78,0x0000000002c8dfd0] = 1112
scopes pcs [0x0000000002c8dfd0,0x0000000002c8e1f0] = 544
dependencies [0x0000000002c8e1f0,0x0000000002c8e1f8] = 8
nul chk table [0x0000000002c8e1f8,0x0000000002c8e250] = 88
#
# If you would like to submit a bug report, please visit:
# http://bugreport.java.com/bugreport/crash.jsp
#
Process finished with exit code 1
This exception is caused by the following code:
this.scene = Assimp.aiImportFile("models/fist_pump.fbx", aiProcess_FlipUVs | aiProcess_Triangulate | aiProcess_JoinIdenticalVertices);
if (this.scene == null) {
System.err.println("Could not open model file");
System.exit(-1);
}
this.texture = new Texture("models/Soldier_new-1_diffuse.png");
AIMesh aiMesh = new AIMesh(this.scene.mMeshes().getByteBuffer(0, 1288));
this.riggedMesh = new RiggedMesh(aiMesh);
//NODES try to read them to build skeleton
AINode rootNode = this.scene.mRootNode();
for (int i = 0; i < rootNode.mNumChildren(); i++) {
System.out.println(rootNode.mChildren().get(i).mName().dataString());
}
With the meshes I have no problem to read in the ByteBuffer container which then is used in the constructor. But when reading from the nodes I can't query the node's data (such as name). If I am doing something wrong, I am sorry to have wasted your time.
I am developing in IntelliJ IDEA 2016.3 using JDK 8_112 x64, LWJGL 3.1.1 build 7, Windows 10 Pro x64
THANK YOU VERY MUCH for any help!
[RFE] - the original Assimp library's AINode class does contain a FindNode method. Will that be implemented in the LWJGL bindings?