wip: updated readme
This commit is contained in:
parent
5ccc9b0fe2
commit
f4588913ea
62
README.md
62
README.md
|
|
@ -1,13 +1,50 @@
|
||||||
# cuda-based-raytrace
|
<br />
|
||||||
|
<p align="center">
|
||||||
|
<h1 align="center">CUDA-based Raycaster</h1>
|
||||||
|
|
||||||
## How to run
|
<p align="center">
|
||||||
|
This project implements a raycaster on nvidia GPUs, visualizing wind patterns through the use of silhouette shading
|
||||||
|
</p>
|
||||||
|
|
||||||
First, initialize the imGui submodule:
|
## Table of Contents
|
||||||
|
|
||||||
|
* [About the Project](#about)
|
||||||
|
* [Dependencies](#dependencies)
|
||||||
|
* [Installation](#installation)
|
||||||
|
* [Running](#running)
|
||||||
|
* [Screenshots](#screenshots)
|
||||||
|
* [Modules](#modules)
|
||||||
|
|
||||||
|
|
||||||
|
## 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](#screenshots)).
|
||||||
|
The program expects to use the MERRA2 dataset, which can be found [here](https://disc.gsfc.nasa.gov/datasets/M2I6NPANA_5.12.4/summary?keywords=M2I6NPANA_5.12.4).
|
||||||
|
|
||||||
|
|
||||||
|
## 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:
|
||||||
```bash
|
```bash
|
||||||
git submodule update --init
|
git submodule update --init
|
||||||
```
|
```
|
||||||
|
|
||||||
Then, compile using cmake:
|
Then compile using CMake:
|
||||||
```bash
|
```bash
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
|
|
@ -15,3 +52,20 @@ cmake ..
|
||||||
make
|
make
|
||||||
./cuda-raytracer
|
./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
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue