This is my hobby project that I work on in my spare time to learn more about graphics programming and engine architectures. Especially Vulkan and C++. Also to produce some games including my dream game in the future.
Currently I'm developing Oxrena -a quake-like movement shooter- using Oxylus!
Windows, Linux and Mac (with MoltenVK) is supported.
- Modular Vulkan renderer built with Vuk.
- Modern rendering features:
- Clustered Forward IBL PBR
- GPU Culling
- GTAO
- SSR
- PCF Cascaded Directional, Spot and Point Light Shadows
- Physically Based Bloom
- Depth Of Field
- HDR
- Tonemapping
- Chromatic Aberration
- Film Grain
- Vignette
- Sharpen
- and many more various post-processing effects.
- Multithreaded physics with Jolt.
- C++ and Lua scripting API with ECS events and ECS systems. Which has been used to
build multiple games to test the API and engine in general.
More about that: Oxrena, (Creating a Game With Oxylus) - Editor with features such as Projects, Serializable Scenes, ContentBrowser, Prefabs, Shader Hot Reloading, Entity managing, Prefabs, Inspector Panel, Asset Manager, Material System&Editor, In-Editor Console, and a lot more QOL features...
- 3D Audio with miniaudio
(New Editor UI)
PBR Testing scene with Depth Of Field, SSR, SSAO, Bloom, Vignette, Film Grain, Chromatic Aberration, Sharpen
Sponza scene with IBL PBR, SSAO, SSR and Directional Shadows
Currently supported and tested compilers are only: MSVC and Clang
- Install Vulkan SDK.
- Run the root CMake script with this command to generate for MSVC:
cmake -S . -B ./build/ -G "Visual Studio 17 2022" -A x64
For clang:
cmake -B ./build -G Ninja -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_BUILD_TYPE=Release
- Install
directx-shader-compiler
package if required. (Only required for UNIX) - Then run this command to build it with CMake:
cmake --build ./build --config Release
- Cem Yuksel for his great videos about graphics programming.
- Jason Gregory for his Game Engine Architecture book.
- SaschaWillems for his Vulkan examples and help.