pycuda-volumetric-renderer
A mini volumetric renderer written in Cuda-C++ and PyCuda
Steps
- Clone the repository recursively.
- Make sure you installed CUDA toolkit.
pip install pycuda pillow numpy configargparse matplotlib
- Since PyOpenvdb is not supported on Windows, I couldn't use it to import .vdb files. So, I made up a very simple file structure. smoke_density.xyz is the only example in the repo.
- See and play with configs.txt.
python app.py
Features
- This project is aimed to be fun. There isn't even a next-event estimation in this renderer. It is a pure hobby project to see how PyCuda is working
- The only light source is a very simple procedural environment light.
- Delta tracking is used to sample free path.
- There is no wavelength dependent scattering and absorption coefficients. However, if I were to implement it, I'd use spectral tracking.