SkillAgentSearch skills...

Tridium

A high-fidelity game engine with a custom RHI supporting Dx12, and OpenGL.

Install / Use

/learn @AsherFarag/Tridium
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Tridium <img width="30" height="30" alt="TridiumLogoTight" src="https://github.com/user-attachments/assets/d013b489-729b-4a0a-8fb4-ed4b3a206122" />

Tridium is a modern 3D game engine built in C++20 with a focus on flexibility, performance, and simplicity. It features an integrated Editor, Physics, ECS (Entity Component System), runtime C++ reflection, serialization, physically-based rendering (PBR), and a dynamically-bound Rendering Hardware Interface (RHI) supporting OpenGL and DirectX 12. It is still in development with a lot features planned.

⚠️ Important: This project is currently under active development. Expect bugs and incomplete features.


<img width="1920" height="1007" alt="TridiumScreenShotBright" src="https://github.com/user-attachments/assets/4570a0a9-f8a0-47fa-9ac9-ba8fa756900e" /> <br></br> <img width="1849" height="928" alt="TridiumScreenShotDark" src="https://github.com/user-attachments/assets/0c35ff74-ad92-42ba-8427-36860b9b9c33" /> <br></br> <img width="1920" height="1032" alt="Spartan by Abel (https://sketchfab.com/abel76)" src="https://github.com/user-attachments/assets/087e1c77-bc83-4edc-b118-1fc1f8c1fc9a" />

Halo 5 Spartan Model by Abel https://sketchfab.com/abel76

https://github.com/user-attachments/assets/53f32f6c-01aa-46b6-8b29-28ce7284153f

Note: This demo video was from before the RHI branch was created.


Features

  • Editor: Editor for asset management and scene building inspired by engines like UE5.
  • Physics: Integrated physics system for 3D simulations using JoltPhysics.
  • ECS: Efficient Entity Component System for organizing game objects using EnTT.
  • C++ Runtime Reflection: Dynamic runtime type information for classes, properties, and serialization built on top of EnTT.
  • Serialization: Saving/loading game data.
  • Graphics: PBR rendering pipeline built with render-graphs and support for advanced materials.
  • RHI (Rendering Hardware Interface): Abstracted graphics API layer supporting OpenGL and DirectX 12 (Vulkan support coming soon).

TODO

Developing the RHI and integrating it into the engine is a big job and requires a rewrite of many systems.

  • [ ] RHI - Work in Progress ⚙️
    • [ ] Features - Work in Progress ⚙️
      • [x] Core API
      • [ ] Compute Shaders
      • [ ] Raytracing Support
    • [ ] Backends - Work in Progress ⚙️
      • [x] DirectX12 support
      • [x] OpenGL support
      • [ ] Vulkan support - Work in Progress ⚙️
      • [ ] Metal support
      • [ ] DirectX11 support
  • [ ] New Asset System - Work in Progress ⚙️
    • [x] Core API
    • [x] Asset Importing
    • [ ] Editor Asset Features
  • [ ] Editor
    • [x] Undo/Redo
  • [ ] Runtime
  • [ ] Renderer Pipeline - Work in Progress ⚙️
    • [x] GBuffer
    • [ ] Shadows
  • [ ] This TODO list - Work in Progress ⚙️

Getting Started

[!NOTE] Windows is the only platform that is currently tested. Visual Studio 2022 is required.

1. Clone the repository:

# This will clone the RHI branch repo into "Your/Path/To/Tridium"
git clone -b RHI --single-branch https://github.com/AsherFarag/Tridium.git

# Enter the new Tridium folder
cd Tridium

2. Run the setup script to generate the Visual Studio 2022 solution:

Note: Downloading and building the dependencies can take a while.

# Invokes the Setup.bat script which:
# 1. Setup dependencies
# 2. Validated your Vulkan SDK (if invalid, it gives you the option to install it)
# 3. Generates the Visual Studio projects with premake
Setup

3. Open the generated .sln file in Visual Studio 2022 and build the project.

⚠️ Important: Set the build config to either Debug-Editor or Release-Editor. The other configurations are unstable and may not build.

Optional: 4. Adds custom Visual Studio Item templates (These can be removed with UninstallTemplates.bat)

InstallTemplates

Credits & Dependencies

Tridium uses a number of open-source libraries and tools. We gratefully acknowledge the authors and contributors of these projects:

  • Assimp – Open Asset Import Library for importing 3D models.
  • EnTT – Fast and flexible Entity Component System (ECS) for C++.
  • GLAD – OpenGL loader library.
  • GLFW – Library for creating windows, contexts, and handling input.
  • GLM – Header-only C++ mathematics library for graphics software.
  • ImGui – Immediate mode GUI library.
  • ImGuizmo – 3D gizmo manipulator for ImGui.
  • ImTextEdit – Script editor for ImGui.
  • Jolt Physics – Physics engine for rigid body dynamics.
  • Lua – Lightweight scripting language.
  • Refl-Cpp – C++ reflection library.
  • Sol2 – C++ library binding for Lua.
  • spdlog – Fast C++ logging library.
  • SPIRV-Cross – Shader cross-compiler for SPIR-V to other shading languages.
  • yaml-cpp – YAML parser and emitter in C++.
  • zlib – Compression library for data streams.

License

Code released under the Apache 2.0 license.<br/>

View on GitHub
GitHub Stars10
CategoryCustomer
Updated27d ago
Forks0

Languages

C++

Security Score

95/100

Audited on Feb 28, 2026

No findings