/rustspot

🎲 Experimenting Rust gamedev

Primary LanguageRustMIT LicenseMIT

RustSpot 🕹️

Experimenting Rust gamedev on ODROID-GO Advance.

This project started as a relatively small experiment targeting a handheld-console, but it has grown while following a community-driven OpenGL learning effort.

RustSpot

Shader variants in action

Features

  • Data-driven design
  • Scene graph
  • Shadow mapping
  • glTF loading
  • Physically Based Rendering
  • Normal mapping

Articles

Have a look at the wiki to find a list of technical articles written during development.

Build

RustSpot works on Linux, MacOS, and Windows, but it will need Rust and SDL2. It should not be difficult to setup the required dependencies and run the demos, but do not hesitate to contact me if you need any help.

Windows

To link SDL2 in Windows, you can:

  1. Compile SDL2 sources:

    cmake -S. -Bbuild && cmake --build build --config Release
  2. Specify its library path:

    RUSTFLAGS='-L <SDL2>/build/Release' cargo build

Screenshots

Sponza screenshot

First render of Sponza

SciFi Helmet

Physically Based Rendering

Normal mapping

Normal mapping in action