/rg3d

3d game engine written in Rust

Primary LanguageRustMIT LicenseMIT

RG3D

3D game engine written in Rust.

Support

If you want to support the development of the project, click the link below.

Become a patron!

Community

Join the Discord channel

Screenshots

These screenshots are from rusty-shooter which is a big demo for the engine.

1

2

3

4

5

There are many examples covering various aspects of the engine. Also don't hesitate to create an issue if need help!

editor

Features

  • Deferred shading.
    • Directional light.
    • Point light + shadows.
    • Spot light + shadows.
    • Bump mapping.
    • Screen-Space Ambient Occlusion (SSAO).
    • Soft shadows.
    • Volumetric light (spot, point).
  • Render in texture.
  • Multi-camera rendering.
  • Scene graph with pivot, camera, mesh, light, particle system, sprite nodes.
  • Built-in save/load - save/load state of engine in one call.
  • High quality binaural sound with HRTF support.
  • Skinning.
  • Particle systems with soft particles.
  • A* pathfinder.
  • Navmesh.
  • FBX Loader.
  • Full TTF/OTF fonts support (thanks to fontdue and ttf-parser crates).
  • PNG, JPG, TGA, DDS, etc. textures (thanks to image crate).
  • Advanced node-based UI with lots of widgets.
  • Animation blending state machine - similar to Mecanim in Unity Engine.
  • Animation retargetting - allows you to remap animation from one model to another.
  • Asset management (textures, models, sound buffers).
  • Simple physics.
  • Core library.
  • Fast iterative compilation
    • Debug: ~3 seconds
    • Release: ~8 seconds

Contributing

Contributions are very welcome! Please check Issues to see how you can help project and feel free to create your own issue!

Limitations

  • FBX loader supports versions 7100 - 7400. Binary 7500 is not supported yet, but ASCII is.