Flashbang is a physically-based renderer built on the Lightwave framework.
- Triangle meshes (ply) + rectangle and sphere primtives
- BVH acceleration with binning
- Multithreaded rendering
- Diffuse, Conductor, Dielectric, and Principled BSDFs
- Image and checkerboard textures
- Point, Directional, Area, and Image-based lighting
- Next Event Estimation or Pathtracing modes
- Halton sampling
- Image denoising
- Alpha masking
- Shading normals
Visit https://sami-hatna66.github.io/flashbang-showcase/ to see a complex scene rendered with Flashbang which showcases many of these features.
Most of Flashbang's dependencies come packaged in this repository. The only exception is Intel Open Image Denoise, which must be installed separately (Flashbang can still be used without OIDN, but output images will be noticeably noisier). To compile the library:
mkdir build && cd build/
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release ..
ninjaScenes are encoded as xml files. The repo comes with a sample scene which you can render as follows:
./flashbang ../sample/sample.xmlYou can render your own Blender scenes with Flashbang by installing the Lightwave exporter as a Blender add-on (blender_exporter/lightwave_blender.zip)