This raytracer is heavily overengineered to keep application abstraction from rt kernel (even if there no others kernels yet)
Project still WIP
Current features
- It supports basic scene loading via json
- Supports texture loading
- Simple PBR materials
How to make it work
- Compile
- Take any scene from
resources/
, rename it to scene.json and place near executable - In application
Scene->Load "scene.json"
- To render anything
Rendrer->Render Image
- To change some raytracer settings
Windows->Rendrer Configuratiion
- To save output
Rendrer->Save "output.png"
Build for linux (GCC/CLANG)
cmake .
make
And your binary will be in project root folder
Build for windows (MSVC)
cmake -S . -B build
cmake --build build --config Release
And you binary will be somethere in build folder (depends on configuration, for Release config it will be in build/Release)
P.S.
Project lives in self-hosted git repository so there no other commits other than 'sync'
RT Kernel based on https://github.com/RayTracing/raytracing.github.io with some additions or another approaches