Crate three_d[][src]

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.

Re-exports

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

Modules

Low-level graphics abstraction layer which maps one-to-one with the OpenGL graphics API on desktop and WebGL2 bindings provided by the web-sys crate on web. 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 as long as any graphics state changes are reset.

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 and also with calls in the context module as long as the graphics state is reset.

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.

Structs

Integration of egui, an immediate mode GUI.

Type Definitions