Hi guys!
We are working on an assimp porting here
The current supported formats are: obj, stl, ply, collada, assbin (DirectX, md2, md5 will be added soon)
For those who wonders which are the benefits compared to a native binding…
Advantages:
- runs entirely on jvm (Garbage Collector)
- lighter import
- written in Kotlin (less code to write, more features, more expressiveness)
- cleaner, more intuitive interface (especially the Material part) and plain names
- possible to set the build-time flags and property (debug/config/log)
- easier to debug
- easier to modify/customize, e.g: textures get automatically loaded and offered via gli library, you just have to upload them to GL
- matrices are column-major instead row-major and offered via the glm library
- easier to fix (found a couple of bugs on the original assimp, notified, I didnt have to wait for the next releases fix)
- reduced the maintenance at minimum by keeping the same structure as possible during the port
- possible to get the same loading speed, using binary assimp format
Disadvantages:
- code needs to be ported from cpp to java
- code needs to be maintained
- a little slower compared to cpp when loading big meshes if not using assbin