Cuda-accelerated volume visualization implementing Phong illumination and silhouette shading.
Go to file
Djairo Hougee d25b7c3cf9 removed unnecessary imgui install 2025-01-21 00:49:47 +01:00
GLFW feat: cmake + lib 2025-01-03 19:57:39 +01:00
cmake feat: cmake + lib 2025-01-03 19:57:39 +01:00
include removed unnecessary imgui install 2025-01-21 00:49:47 +01:00
lib feat: cmake + lib 2025-01-03 19:57:39 +01:00
src removed unnecessary imgui install 2025-01-21 00:49:47 +01:00
thirdparty feat: cmake + lib 2025-01-03 19:57:39 +01:00
.gitignore compiles on robins computer :) 2025-01-18 20:24:15 +01:00
.gitmodules implemented controls 2025-01-11 15:20:39 +01:00
CMakeLists.txt Merge branch 'finding-sany2' into gui 2025-01-20 13:26:07 +01:00
LICENSE Initial commit 2024-11-14 12:07:21 +01:00
README.md wip: updated readme 2025-01-16 13:29:47 +01:00
cuda_install_guide.md Updated cuda install guide 2024-12-23 19:10:34 +01:00
default.nix you can see the hurricane a bit 2025-01-19 00:26:15 +01:00
load-modules.sh FieldData structs implemented 2024-12-20 18:46:18 +01:00
makefile feat: cmake + lib 2025-01-03 19:57:39 +01:00
notes.md Thought of a fair note after all 2025-01-15 19:46:27 +01:00

README.md


CUDA-based Raycaster

This project implements a raycaster on nvidia GPUs, visualizing wind patterns through the use of silhouette shading

Table of Contents

About

This project was developed as part of the course Geo-Visualization at the University of Groningen. It contains a CUDA-based raycaster which visualizes wind patterns using a silhouette shading. The program also includes various configuration options, which can be set as the program runs (see Screenshots). The program expects to use the MERRA2 dataset, which can be found here.

Dependencies

The project depends on a few libraries. Below is a list of these along with versions that will work. Newer/older versions of the libraries may also compile and run properly, but this has not been tested.

  • OpenGL[^1] Tested using the Mesa (1:24.3.3-2) driver.
  • glfw3 (3.4-2)
  • Cuda (12.6.3-1)
  • Netcdf (4.9.2-6)
  • Netcdf-cxx (4.3.1-4)
  • Dear ImGUI (submodule within repository)

Installation

Once all libraries are installed compiling the program is quite straightforward. First, initialize the Dear ImGUI submodule:

git submodule update --init

Then compile using CMake:

mkdir build
cd build
cmake ..
make 
./cuda-raytracer

Make sure the program is executed on the nvidia GPU, or it will crash on startup. For example, on Arch the command prime-run ./cuda-raytracer would make sure the program utilizes the GPU.

Running

TODO: this section

Screenshots

TODO: add cool screenshots

Modules

TODO: talk about program design a little