Totally not inspired Rust 3D library! Ok, maybe, just a tiny bit... by Three.JS.
Motivation and Goals
- Ergonomics is first priority. Being able to prototype quickly and code intuitively is more important than capturing all the 3D features. We already have a solid foundation with gfx-rs, so let's make some use of it by providing a nice higher-level abstraction.
- Follow "Three.JS" - this is simpler than coming up with a brand new API (like kiss3d), yet instantly familiar to a large portion of Web develper. Some deviations from the original API are imminent.
- Battle-test the genmesh library. Being able to create cubes, spheres, cylinders (and more) with one-liners allows for nice proceduraly generated demos.
- Play with Component-Graph System concept, provided by froggy. It's a good fit for the scene graph implementation that is fast and usable.
Interestingly, you can observe an new trend in rust-gamedev community to mimic existing libraries: Amethyst was created to be Rust version of Autodesk Stingray engine (formely Bitsquid), ggez is a re-interpretation of Love2D engine, and now
three-rs attempting to capture Three.JS usability. This is not to say that we failed for find our own path, I just see the current step inevitable.