Expand description

A 3D renderer which enables out-of-the-box build to both desktop and web with the same code. See the README for more information and the examples for how to use it.


pub use renderer::*;
pub use window::*;
pub use io::*;


Low-level graphics abstraction layer which maps one-to-one with the OpenGL graphics API on native and WebGL2 graphics API on web. This is just a re-export of the glow crate. Use this if you want to have complete control of a feature but be aware that there are no safety checks.

Mid-level modular abstractions of common graphics concepts such as buffer, texture, program, render target and so on. Can be combined with low-level calls in the context module.


Contains functionality to load any type of asset runtime on both desktop and web as well as parsers for different image and 3D model formats. Also includes functionality to save data which is limited to desktop.

High-level features for easy rendering of different types of objects with different types of shading. Can be combined seamlessly with the mid-level features in the core module as well as functionality in the context module.

Default windows for easy setup and event handling. Currently glutin for cross-platform desktop and canvas using wasm-bindgen for web, but can be replaced by any other window with similar functionality. Also contains camera control utilities.


Integration of egui, an immediate mode GUI.

Type Definitions

A result for this crate.