Skip to content

LuisaGroup/practical-stylized

Repository files navigation

Practical Stylized Nonlinear Monte Carlo Rendering

This is an early access version of the SIGGRAPH 2025 paper "Practical Stylized Nonlinear Monte Carlo Rendering"

The code is based on AkariRender. The main files are:

  • lm_path_filtering.rs The implementation of nonlinear path filtering (NL-PF).
  • nrc_pt.rs The implentation of nonlinear neural radiance caching (NL-NRC).
  • svm/surface/mod.rs The implementation of various nonlinear stylization shader nodes.

Build

First clone the project:

git clone --recursive https://github.com/LuisaGroup/practical-stylized

If you are using < Windows 10, please upgrade to Windows 10 or above.

  • Rust 1.81.0+
  • CMake > 3.23
  • Ninja
  • Clone Blender 4.0 source code from blender-v4.0-release branch
  • Put path to blender source in blender_src_path.txt at project root

To run on CPU, the following runtime requirement must be satisfied:

  • clang++ in PATH
  • llvm dynamic library of the same version (for Windows users, it is the LLVM-C.dll. ) should be in PATH as well.

Run

Running the NL-NRC requires a CUDA-enabeld GPU. The other methods can run on CPU or GPU. Download the scene file from release tab and put Scene.bin under scenes/veach-ajar-sty-v2/. To render the scene in the teaser:

DEVICE=cuda # use cpu if you run out of VRAM
cargo run  --release --bin akari-cli -- -s scenes/veach-ajar-sty-v2/scene-sty.json -m configs/teaser/pt.json -d $DEVICE --gui
cargo run  --release --bin akari-cli -- -s scenes/veach-ajar-sty-v2/scene-sty.json -m configs/teaser/brpt.json -d $DEVICE --gui
cargo run  --release --bin akari-cli -- -s scenes/veach-ajar-sty-v2/scene-sty.json -m configs/teaser/nl-pf.json -d $DEVICE
cargo run  --release --bin akari-cli -- -s scenes/veach-ajar-sty-v2/scene-sty.json -m configs/teaser/nl-nrc.json -d $DEVICE --gui

About

Source Code for SIGGRAPH North America 2025 Paper "Practical Stylized Nonlinear Monte Carlo Rendering"

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages