How we use Assimp in RayTrophi (open-source ray tracing engine with OptiX/Embree) #6140
maxkemal
started this conversation in
Show and tell
Replies: 1 comment
|
Thank you so much for sharing this information. This helps us a lot getting a better understanding what do you as a cusomer of the Asset-Importer-Lib really need. |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Hello everyone!
I'm developing an open-source ray tracing engine called RayTrophi which supports CPU acceleration, Embree, and OptiX.
We use Assimp extensively to import scenes, meshes, materials, cameras, lights, and animations.
Our custom class,
AssimpLoader, wraps Assimp's functionality into a format usable by our ray tracing engine.Here’s how we process nodes and convert them into triangles:
✅ Import geometry as individual triangles (
Triangleclass)✅ Load materials and textures (albedo, roughness, metallic, normal, transmission, opacity, emission)
✅ Apply global transforms from Assimp’s node hierarchy
✅ For GPU rendering, assign material and texture bundles for OptiX backend
✅ Support for animations and bone weights
Key method (simplified from AssimpLoader.cpp):
Why this might be useful for the Assimp community:
Shows how to convert Assimp’s scene graph to per-triangle data, including transformations.
Demonstrates real-world usage: material extraction, animation handling, GPU texture mapping.
Practical integration into a Monte Carlo ray tracing pipeline with Embree and OptiX.
GitHub Repository:
https://github.com/maxkemal/RayTrophi
We are happy to provide more examples (material property extraction, animation transforms, etc.) if anyone is interested.
Thank you to the Assimp team for maintaining such a versatile library!
All reactions