.idea | ||
assets | ||
ComputeEngine@133701c417 | ||
configs | ||
screenshots | ||
shaders/ray_tracing | ||
src | ||
.gitignore | ||
.gitmodules | ||
build.bat | ||
build.nu | ||
CMakeLists.txt | ||
config_template.txt | ||
LICENSE | ||
make_all.bat | ||
README.md |
GPU Ray Tracer
GPU Ray Tracing application based on my OpenGL Compute Engine.
Dependencies
- OpenGL
- GLFW
- GLEW
- stb_image
Binaries
You can find the latest releases here
Build
-
Clone this directory
-
Run git submodule init
-
Run git submodule update
-
Specify these root directories for dependencies in make_all.bat script:
- GLFW_ROOT
- GLEW_ROOT
- stb_image_ROOT
-
Run make_all.bat.
-
Run build.bat.
Config files
Each scene/configuration is described in a config file.
Example scenes are located in /configs directory.
All available parameters are specified in config_template.txt.
Usage
Pass chosen config file to the generated executable as an argument in command line.
If no argument given, config.txt is picked.
Features
- Wavefront (.obj) file import
- PNG, JPG, HDR texture import
- Object can be an imported triangle mesh, sphere or infinite plane
- Each scene is saved in a separate file
- Specular and diffuse reflections
- Physics based refractions
- Camera movement
- Screenshot saving
Example images
Mesh | Refraction |
---|---|
Multiple meshes 1 | Multiple meshes 2 |
Solar system 1 | Solar system 2 |
Keys
Camera
- UP - SPACE
- DOWN - CTRL
- LEFT - A
- RIGHT - D
- FORWARD - W
- BACKWARD - S
Window
- Screenshot - L
- Disable input to window - P
- Close application - ESC
License and copyright
© Dawid Pietrykowski
Licensed under the MIT LICENSE