Easy to use, customizable, efficient 3D renderer library built on wgpu.
Library is under active development. While internals are might change in the future, the external api remains stable, with only minor changes occuring as features are added.
Take a look at the examples for getting started with the api. The examples will show how the core library and helper crates can be used.
These screenshots are from the scene_viewer example.
The rend3
ecosystem is composed of a couple core crates which provide most
of the functionality and exensibility to the library, extension crates, and
integration crates
rend3
: The core crate. Performs all handling of world data, provides the
Renderer and RenderGraph and defines vocabulary types.rend3-routine
: Implementation of various "Render Routines" on top of the
RenderGraph. Also provides for re-usable graphics work. Provides PBR
rendering, Skyboxes, Shadow Rendering, and Tonemapping.There are extension crates that are not required, but provide pre-made bits of useful code that I would recommend using.
rend3-framework
: Vastly simplifies correct handling of the window and
surface across platforms.rend3-gltf
: Modular gltf file and scene loader.Integration with other external libraries are also offered. Due to external dependencies, the versions of these may increase at a much higher rate than the rest of the ecosystem.
rend3-anim
: Skeletal animation playback utilities. Currently tied to rend3-gltf.rend3-egui
: Integration with the egui
immediate mode gui.rend3
tries to fulfill the following usecases:
rend3
is not:
rend3-framework
can help you. This will always be optional and is just there to help
with the limited set of cases it can help.I have grand plans for this library. An overview can be found in the issue tracker under the enhancement label.
We have a matrix chatroom that you can come and join if you want to chat about using rend3 or developing it:
If discord is more your style, our meta project has a channel which mirrors the matrix rooms:
We welcome all contributions and ideas. If you want to participate or have ideas for this library, we'd love to hear them!
License: MIT OR Apache-2.0 OR Zlib