https://github.com/encelo/nctracer
An ImGui front-end to the pmTracer library made with the nCine
https://github.com/encelo/nctracer
cornell-box cross-platform global-illumination imgui ncine pathtracing raytracing
Last synced: 4 months ago
JSON representation
An ImGui front-end to the pmTracer library made with the nCine
- Host: GitHub
- URL: https://github.com/encelo/nctracer
- Owner: encelo
- License: mit
- Created: 2020-10-09T22:27:32.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-12-12T01:43:14.000Z (5 months ago)
- Last Synced: 2024-12-12T02:35:53.274Z (5 months ago)
- Topics: cornell-box, cross-platform, global-illumination, imgui, ncine, pathtracing, raytracing
- Language: C++
- Homepage:
- Size: 112 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://github.com/encelo/ncTracer/actions?workflow=Linux)
[](https://github.com/encelo/ncTracer/actions?workflow=macOS)
[](https://github.com/encelo/ncTracer/actions?workflow=Windows)
[](https://github.com/encelo/ncTracer/actions?workflow=MinGW)
[](https://github.com/encelo/ncTracer/actions?workflow=Emscripten)
[](https://github.com/encelo/ncTracer/actions?workflow=Android)
[](https://github.com/encelo/ncTracer/actions?workflow=CodeQL)# ncTracer
An [ImGui](https://github.com/ocornut/imgui) front-end to the [pmTracer](https://github.com/encelo/pmTracer) library made with the [nCine](https://github.com/nCine/nCine).**Poor Man's Tracer** is a very simple and minimal ray tracing and path tracing library based on [_Ray Tracing from the Ground Up_](http://www.raytracegroundup.com/) by Kevin Suffern.
## Notes
* Don't forget to compile the nCine with `-D NCINE_DYNAMIC_LIBRARY=OFF` so that ncTracer can access the OpenGL and threading private API.
* For testing purposes there are some defines that you can change
* In `SceneContext.cpp` you can change the value of `THREADING_TYPE` to switch between single threaded, tiled single threaded and tiled multi-threaded
* In `ThreadManager.h` you can change the value of `STD_THREADS` to switch between `std::thread` and `ncine::Thread`