The intent of this project is to create a graphics library and game engine that I can use for other projects of mine and to improve my understanding of how game engines are built and structured.
- Keep it simple to use. Every part of the code should be relatively self-explanatory.
- Allow room for expansion to other platforms. Getting it to run on a PS Vita would be really cool.
- Modular and split in concrete blocks of functionality.
- Performance, performance, performance.
- Windows 11
- Visual Studio 2022 with CMake
In your desired project directory, either:
- Clone into your own directory with
git clone https://github.com/StripeRose/atrium
OR - Add it as a sub-module with
git submodule add https://github.com/StripeRose/atrium
This will set up the engine in the ./atrium/
directory.
Navigate into the directory and execute git submodule update --init --recursive
to clone all dependencies.
Copy and rename the example
directory so it lies next to the atrium
directory.
The directory contains a basic program that sets up the engine to open a blank window, and exits when you close it.
Once copied, run generate_solution.bat
from within the directory. If it’s the first run, it will build Sharpmake and use it to generate a Visual Studio 2022 solution.
Further example projects are located in atrium-examples.
The codebase uses Tracy for profiling on supported platforms.
In order to run it, use the script located at ./tools/run-profiler.bat
.
If it doesn't exist, it will attempt to build from the source-code and start after.
Atrium currently utilizes the following third-party open-source libraries and tools.
- Sharpmake to generate VS solutions, by Ubisoft
- Dear ImGui for editor and debug UI, by Omar Cornut and all contributors.
- DirectXTex to handle DDS texture files, by Microsoft
- Tracy for profiling code, by Bartosz Taudul and all contributors.
Additionally it uses the following third-party projects:
- Microsoft GameInput as an input-device source, by Microsoft