A collection of tools, data structures and methods for exporting Blender data (such as meshes and armatures) and preparing it for your rendering pipeline.
Modern graphics APIs such as Metal/Vulkan/etc make it easy to buffer data onto the GPU in a structured manner (you're just copying bytes to buffers).
To align with that, we are returning a Vec and letting the caller
decide how to buffer the data.
Previously we returned separate Vec's of data since when first starting with WebGL/OpenGL it can be easier to just dump things into a bunch of buffers than to interleave.
Instead of encouraging worse practices we should expose functions and documentation to make it easier to do things properly.
There's still a lot of refactoring of all of these crates that need to happen. Lots of code that I wrote when I was first learning Rust... It's unpleasant to work with right now.
Modern graphics APIs such as Metal/Vulkan/etc make it easy to buffer data onto the GPU in a structured manner (you're just copying bytes to buffers).
To align with that, we are returning a Vec and letting the caller
decide how to buffer the data.
Previously we returned separate Vec's of data since when first starting with WebGL/OpenGL it can be easier to just dump things into a bunch of buffers than to interleave.
Instead of encouraging worse practices we should expose functions and documentation to make it easier to do things properly.
There's still a lot of refactoring of all of these crates that need to happen. Lots of code that I wrote when I was first learning Rust... It's unpleasant to work with right now.