lowenware/dotrix

A 3D engine with ECS and Vulkan renderer for Rust developers

Rust

311

338 commits

updated Sep 18, 2026

See the code

README

Dotrix

Dotrix is an OpenSource 3D engine for Rust developers. The name is a derivation from dot and matrix. Two entities that both together and separately are keystones of rendering.

LICENSE LICENSE Discord

Important

Dotrix is under migration to Vulkan. If you are looking for old WGPU version, then check out release 0.5.3.

The main branch now holds version 0.6 of the engine that is under active development, but we try to keep it functional.

Demo

Dotrix Demo is a binary that comes within the engine to demonstrate it possibilities.

cargo run --release

Shaders

We are using GLSL shaders. There is no auto-compilation to SPV right now, so please use glslc:

glslc -fshader-stage=vertex src/models/shaders/only_mesh.vert -o src/models/shaders/only_mesh.vert.spv
glslc -fshader-stage=fragment src/models/shaders/only_mesh.frag -o src/models/shaders/only_mesh.frag.spv
glslc -fshader-stage=vertex src/models/shaders/skin_mesh.vert -o src/models/shaders/skin_mesh.vert.spv
glslc -fshader-stage=fragment src/models/shaders/skin_mesh.frag -o src/models/shaders/skin_mesh.frag.spv
glslc -fshader-stage=vertex src/features/terrain/shaders/terrain.vert -o src/features/terrain/shaders/terrain.vert.spv
glslc -fshader-stage=fragment src/features/terrain/shaders/terrain.frag -o src/features/terrain/shaders/terrain.frag.spv
glslc -fshader-stage=vertex src/features/skydome/shaders/skydome.vert -o src/features/skydome/shaders/skydome.vert.spv
glslc -fshader-stage=fragment src/features/skydome/shaders/skydome.frag -o src/features/skydome/shaders/skydome.frag.spv

## Sponsors

* Johan Andersson <[@repi](https://github.com/repi)>

## Contributors

* Andrew King <[@QuantumEntangledAndy](https://github.com/QuantumEntangledAndy)>
* Russell Wong <[@russellwmy](https://github.com/russellwmy)>

### 3rd Party Assets

Following 3rd party assets are being used in examples

* [Night SkyBox](https://www.vippng.com/preview/wmRTT_city-skyline-silhouette/)
* [Car Model](https://free3d.com/3d-model/cartoon-vehicles-low-poly-cars-free-874937.html)
* [Fox Model](https://github.com/KhronosGroup/glTF-Sample-Models/tree/master/2.0/Fox)
* [Day Skybox](https://opengameart.org/content/elyvisions-skyboxes)
* [PBR Crate](https://3dtextures.me/2021/12/20/stylized-crate-002/)
3d-engine
ecs
gamedev
multithreading
rust
vulkan
vulkan-game-engine

lowenware/dotrix

A 3D engine with ECS and Vulkan renderer for Rust developers

Rust

311

338 commits

updated Sep 18, 2026

See the code

README

Dotrix

Dotrix is an OpenSource 3D engine for Rust developers. The name is a derivation from dot and matrix. Two entities that both together and separately are keystones of rendering.

LICENSE LICENSE Discord

Important

Dotrix is under migration to Vulkan. If you are looking for old WGPU version, then check out release 0.5.3.

The main branch now holds version 0.6 of the engine that is under active development, but we try to keep it functional.

Demo

Dotrix Demo is a binary that comes within the engine to demonstrate it possibilities.

cargo run --release

Shaders

We are using GLSL shaders. There is no auto-compilation to SPV right now, so please use glslc:

glslc -fshader-stage=vertex src/models/shaders/only_mesh.vert -o src/models/shaders/only_mesh.vert.spv
glslc -fshader-stage=fragment src/models/shaders/only_mesh.frag -o src/models/shaders/only_mesh.frag.spv
glslc -fshader-stage=vertex src/models/shaders/skin_mesh.vert -o src/models/shaders/skin_mesh.vert.spv
glslc -fshader-stage=fragment src/models/shaders/skin_mesh.frag -o src/models/shaders/skin_mesh.frag.spv
glslc -fshader-stage=vertex src/features/terrain/shaders/terrain.vert -o src/features/terrain/shaders/terrain.vert.spv
glslc -fshader-stage=fragment src/features/terrain/shaders/terrain.frag -o src/features/terrain/shaders/terrain.frag.spv
glslc -fshader-stage=vertex src/features/skydome/shaders/skydome.vert -o src/features/skydome/shaders/skydome.vert.spv
glslc -fshader-stage=fragment src/features/skydome/shaders/skydome.frag -o src/features/skydome/shaders/skydome.frag.spv

## Sponsors

* Johan Andersson <[@repi](https://github.com/repi)>

## Contributors

* Andrew King <[@QuantumEntangledAndy](https://github.com/QuantumEntangledAndy)>
* Russell Wong <[@russellwmy](https://github.com/russellwmy)>

### 3rd Party Assets

Following 3rd party assets are being used in examples

* [Night SkyBox](https://www.vippng.com/preview/wmRTT_city-skyline-silhouette/)
* [Car Model](https://free3d.com/3d-model/cartoon-vehicles-low-poly-cars-free-874937.html)
* [Fox Model](https://github.com/KhronosGroup/glTF-Sample-Models/tree/master/2.0/Fox)
* [Day Skybox](https://opengameart.org/content/elyvisions-skyboxes)
* [PBR Crate](https://3dtextures.me/2021/12/20/stylized-crate-002/)
3d-engine
ecs
gamedev
multithreading
rust
vulkan
vulkan-game-engine

Significant stargazers

Dzmitry Malyshau

1,188 followers · starred Sep 2021

David Aguilar

355 followers · starred Jan 2023

Steve Vermeulen

370 followers · starred Nov 2023

Josh Groves

202 followers · starred Nov 2020