Projector is a WIP highly experimental asynchronous reprojection demo application built on Vulkan.
The application features user-controllable first-person camera view in a basic 3D scene. Also included is a user interface that can be used to control various reprojection and rendering parameters.
| Key | Use |
|---|---|
| Mouse move | Look around |
| WASD | Move camera/character |
| ALT | Release mouse cursor (use UI) |
| ALT + ENTER | Toggle fullscreen |
| ESC | Quit application |
A graphics card with Vulkan 1.3 and variable rate shading support. A non-exhaustive and largely untested list of suitable cards:
- Nvidia: Turing architecture or newer
- GeForce 20/16 series or newer
- Quadro RTX 3000 or newer
- AMD: RDNA 2 architecture or newer
- Radeon RX 6000 or newer
- Radeon Pro W6000 or newer
- Intel: Xe (Gen12) architecture or newer
- Arc 300/700 series or newer
- UHD Graphics 700 series or newer
- Iris Xe Graphics G7 or newer
- CMake:
https://cmake.org/download - (Highly recommended) vcpkg:
https://github.com/microsoft/vcpkg
- Vulkan SDK:
https://vulkan.lunarg.com
- Vulkan libktx:
https://github.com/KhronosGroup/KTX-Software - glwf3:
https://www.glfw.org/download - glm:
https://github.com/g-truc/glm - Dear ImGui:
https://github.com/ocornut/imgui
If using vcpkg, the libraries can be installed with
vcpkg install
cmake -B buildIf using vcpkg, you may need to additionally provide the vcpkg toolchain file via the DCMAKE_TOOLCHAIN_FILE flag, e.g.
cmake -B build -DCMAKE_TOOLCHAIN_FILE=<path_to_vcpkg>/scripts/buildsystems/vcpkg.cmakecmake --build build