This project includes 2 parts: Ray Tracer and Ray Caster. All demos use GLFW + GLAD as the front-end display.
- Ray Tracer is an interactive CUDA-based Path Tracer, which implements the works
- Ray Caster is a CUDA-based renderer for accelerated Volume Rendering towards volumetric data with the format of RAW and VDB (GVDB), which implements the works
- Part of Fast Fluid Simulations with Sparse Volumes on the GPU
- Depth-Box VDB
- Clone this repository to the local.
- Make
3rd/glfwa complete and valid repo from GLFW - Run CMake configuration.
- To show the performance, use a
Releaseconfig.
- To show the performance, use a
This demo resamples the RAW volume into Depth-Box VDB or GVDB and performs Direct Volume Rendering on the volume.
- Example: Head (from GVDB)
[ "-vt", "uint8", "-vol", "<Path to the volumetric data (RAW)>", "-dx", "128", "-dy", "256", "-dz", "256", "-tf", "<Path to the transfer function>", "-tx", "1", "-ty", "-3", "-tz", "-2", "-sx", "2.0", "-sy", "1.0", "-sz", "1.0" ]
- Example: Kingsnake (from Open SciVis Datasets)
[ "-vt", "uint8", "-vol", "<Path to the volumetric data (RAW)>", "-dx", "1024", "-dy", "1024", "-dz", "795", "-tf", "<Path to the transfer function>" ]
| scalar | r | g | b | a | |
|---|---|---|---|---|---|
| range | [0, std::numeric_limits::max()] | [0, 255] | [0, 255] | [0, 255] | [0, 255] |
- Example: Head
0.000000 0.000000 0.000000 0.000000 0.000000 49.840766 0.000000 0.000000 0.000000 0.000000 60.016020 5.041094 3.602943 52.500004 0.579299 127.955641 255.000000 255.000000 255.000000 5.000000 183.914396 8.000000 255.000000 0.000000 8.000000 255.000000 255.000000 0.000000 0.000000 10.000000
- Example: Kingsnake
0.000000 0.000000 0.000000 0.000000 0.000000 95.370346 0.000000 0.000000 0.000000 0.000000 125.946533 255.000000 255.000000 255.000000 20.000001 159.491972 255.000000 157.499998 0.000000 20.000001 232.292712 30.000000 0.000000 255.000000 100.000002 255.000000 255.000000 0.000000 0.000000 255.000000