Crate dotrix[−][src]
Expand description
Dotrix is a 3D game engine following ECS programming pattern with a goal to be simple and feature rich. There is a Löwenware team behind the project and we are working on Dotrix to power up our own game projects.
The best place to see what can be done with Dotrix is our YouTube channel.
Getting Started
If you are more into a practice and looking for an example code, we’ve prepared a good demo application for you to get started.
If you prefer to work with the documentation, then the best place to start is where your
game should start - the Dotrix
application builder.
use dotrix::Dotrix;
fn main() {
Dotrix::application("My Game")
.run();
}
It is also a tool to say the engine where should be rendered the output and what services and systems has to be enabled.
Re-exports
pub use dotrix_math as math;
pub use dotrix_egui as egui;
pub use dotrix_overlay as overlay;
pub use dotrix_pbr as pbr;
pub use dotrix_sky as sky;
pub use dotrix_terrain as terrain;
Modules
Animation components and systems
Assets and management service
Dotrix camera implementation
Dotrix core components
Entity Component System
Input service, ray casting service and utils
Mouse ray implementation
Rendering service and system, pipelines, abstractions for models, transformation, skybox, lights and overlay
Services are very important part of Dotrix. Technicaly the service is a standard Rust structure with methods. Logically, services are providers of interfaces to various features.
Transformation structure and builder
Window service - a wrapper for [winit::window::Window
] instance.
Macros
Count parameters
Macros implementing all necessary archetyoes, patterns, querries and iterators for different types of tuples
Recursive macro treating arguments as a progression
Structs
Component to control model animation
Application data to maintain the process
Assets management service
Camera management service
RGBA Color.
Material component
Rendering output configuration
Application Builder
Frame tracking service
Centralized container service for uniforms and other data
Asset identifier
Input Service
Information about a monitor.
Rendering control component
Represents ray and provides method for various calculations
Service providing an interface to WGPU
and WINIT
Service wrapper
Wrapper for system functions
Model transformation structure
Information about a video mode.
Window service - a wrapper for [winit::window::Window
] instance.
Service to store and manage entities
Enums
Traits
Trait providing extendablity
Service abstraction