Crate dotrix

Source
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
Animation components and systems
assets
Assets and management service
camera
Dotrix camera implementation
componentsDeprecated
Dotrix core components
ecs
Entity Component System
input
Input service, ray casting service and utils
prelude
ray
Mouse ray implementation
renderer
Rendering service and system, pipelines, abstractions for models, transformation, skybox, lights and overlay
servicesDeprecated
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.
transform
Transformation structure and builder
window
Window service - a wrapper for winit::window::Window instance.

Macros§

count
Count parameters
impl_tuples
Macros implementing all necessary archetyoes, patterns, querries and iterators for different types of tuples
recursive
Recursive macro treating arguments as a progression

Structs§

Animator
Component to control model animation
Application
Application data to maintain the process
Assets
Assets management service
Camera
Camera management service
Color
RGBA Color.
CubeMap
Material component
Display
Rendering output configuration
Dotrix
Application Builder
Frame
Frame tracking service
Globals
Centralized container service for uniforms and other data
Id
Asset identifier
Input
Input Service
Monitor
Information about a monitor.
Pipeline
Rendering control component
Pose
Transformed Skin state
Ray
Represents ray and provides method for various calculations
Renderer
Service providing an interface to WGPU and WINIT
Service
Service wrapper
System
Wrapper for system functions
Transform
Model transformation structure
VideoMode
Information about a video mode.
Window
Window service - a wrapper for winit::window::Window instance.
World
Service to store and manage entities

Enums§

Priority
System Priority
RunLevel
Defines when and how often a system should run.

Traits§

ExtendWith
Trait providing extendablity
IntoService
Service abstraction