Go to file
2023-06-05 00:37:05 +02:00
.idea Made code possible to compile on linux 2023-06-04 18:28:46 +02:00
assets first commit 2021-08-07 23:14:51 +02:00
ComputeEngine@d84a7a93da Windows build fixes 2023-06-05 00:37:05 +02:00
configs first commit 2021-08-07 23:14:51 +02:00
screenshots first commit 2021-08-07 23:14:51 +02:00
shaders/ray_tracing first commit 2021-08-07 23:14:51 +02:00
src Made code possible to compile on linux 2023-06-04 18:28:46 +02:00
.gitignore add ComputeLibrary as a submodule for easier building 2021-08-11 16:58:00 +02:00
.gitmodules Made code possible to compile on linux 2023-06-04 18:28:46 +02:00
build.bat Windows build fixes 2023-06-05 00:37:05 +02:00
build.nu Made code possible to compile on linux 2023-06-04 18:28:46 +02:00
CMakeLists.txt Windows build fixes 2023-06-05 00:37:05 +02:00
config_template.txt first commit 2021-08-07 23:14:51 +02:00
LICENSE first commit 2021-08-07 23:14:51 +02:00
make_all.bat Windows build fixes 2023-06-05 00:37:05 +02:00
README.md readme fix 2021-08-11 18:53:18 +02:00

GPU Ray Tracer

GPU Ray Tracing application based on my OpenGL Compute Engine.

Dependencies

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

© Dawid Pietrykowski

Licensed under the MIT LICENSE