A Vulkan engine that I'm developing to study and implement modern rendering techniques used by AAA games.
- Deferred Rendering
- Real-time ray traced shadows and ambient occlusion
- PBR Shading with metallic, roughness, normal, ambient occlusion and emission
- Vulkan bindless resources
- Scene hierarchy
- Asynchronous glTF and OBJ model loading
- Viewport camera with Perspective and Orthographic projections and Fly and Orbit controls
- Widgets for adjusting Vulkan settings at runtime
-
Deferred Rendering (Light, Albedo, Normal, Material, Emissive and Depth)
-
Ray traced shadows and ambient occlusion
-
PBR Shading and glTF models
-
Textures drag and drop
- A GPU that supports VK_KHR_ray_query extension (list of supported GPUs)
- C++17 compiler. Tested with
Visual Studio 2019
,Clang
andGCC
- CMake 3.7 or higher
- Vulkan SDK
This projects uses GLFW library, to compile it under Linux with X11 (like the default Ubuntu 20.04) you will need:
sudo apt-get install xorg-dev
If you are using another window manager (like Wayland) you can check the dependencies here.
git clone --recursive https://github.com/hadryansalles/Luz
cd Luz
mkdir build
cd build
cmake ..
- GCC or Clang:
make run -j
- Visual Studio: open
build/Luz.sln
and compile/run the projectLuz
.