rt.mp4
- Linux system (tested on Arch Linux)
- CMake >= 3.10
- OpenCL runtime and development headers (e.g.
opencl-headers,opencl-clhpp,ocl-icd) - Qt6 (Widgets) development libraries (e.g.
qt6-base,qt6-tools,qt6-qtbase-devel) - C++17 compatible compiler (e.g. g++, clang++)
- Git
git clone [email protected]:Akkuun/RaytracingEngine.git
cd RaytracingEnginegit submodule update --init --recursiveFrom the project root:
bash build.shThis will:
- Create the build directory
- Run CMake and make
- Copy the OpenCL kernel / assets / saves files
- Launch the GUI of the Raytracing-Engine
If your system does not provide CL/opencl.hpp, you need to install the OpenCL C++ bindings:
- On Arch Linux:
sudo pacman -S opencl-headers opencl-clhpp
- On Ubuntu:
sudo apt install opencl-headers # For CLHPP, download from KhronosGroup if not available
git submodule update --init --recursive
cd external/OpenCL-CLHPP
mkdir build && cd build
cmake -DBUILD_DOCS=OFF -DBUILD_EXAMPLES=OFF -DBUILD_TESTING=OFF ..- On Arch Linux:
sudo pacman -S qt6-base qt6-tools
- On Ubuntu:
sudo apt install qt6-base-dev qt6-tools-dev-tools
# For NVIDIA GPUs (Ubuntu/Debian)
sudo apt install nvidia-opencl-icd
# Or on Arch Linux
sudo pacman -S opencl-nvidia
# For AMD GPUs (Ubuntu/Debian)
sudo apt install ocl-icd-libopencl1 mesa-opencl-icd
# Or on Arch Linux
sudo pacman -S opencl-mesaIf you use Intel integrated graphics, you may need:
# Intel (Ubuntu/Debian)
sudo apt install intel-opencl-icd
# Or on Arch Linux
sudo pacman -S intel-compute-runtime- If you get errors about missing
CL/opencl.hpp, ensure CLHPP is installed and included in your CMake configuration. - If you update the submodule, you may need to re-run the CLHPP build/install step.
- For OpenCL runtime issues, check your GPU drivers and OpenCL ICD loader.
- We encountered winodow bad behavior with Qt6 and Xubuntu, if the pannel are not well aligned, this is caused by a dependacy error.
- We encountered some FPS performance issue with NVIDIA device, just restart the app to clear this problem.
- F : toggle panels
-
Z : move the camera forward
-
S : move the camera backward
-
Q : move the camera to the left
-
D : move the camera to the right
-
space : move the camera upper
-
A : move the camera below
-
C : switch static camera to FPS camera (rotation with the mouse)
-
right arrow : rotate the camera to the right
-
left arrow : rotate the camera to the left
-
up arrow : rotate the camera to the top
-
down arrow : rotate the camera to the bottom
- Ctrl + S : save current project
- Ctrl + Z : undo action
- Ctrl + Maj + Z : redo action

