Fast Volume Rendering with Spatiotemporal Reservoir Resampling (Volumetric ReSTIR)

Overview

Fast Volume Rendering with Spatiotemporal Reservoir Resampling (Volumetric ReSTIR)

Introduction

  • This repo includes the source code for the SIGGRAPH Asia 2021 paper Fast Volume Rendering with Spatiotemporal Reservoir Resampling [Lin et al. 2021]. The project page of the paper can be found at https://dqlin.xyz/pubs/2021-sa-VOR/.
  • The method is implemented as a render pass called "VolumetricReSTIR" (Source\RenderPasses\VolumetricReSTIR) in Falcor 4.2. There are also modifications in the original Falcor 4.2 code to support GVDB volumes. See README_Falcor.md for the original README file provided by Falcor.
  • Some example scripts are provided to show how the method works in different scenes. "RunDemo.bat" contains a list of these scripts.
  • Before running the scripts, you need to compile the program and download the scene files following the instruction below.

Prerequisites

Performance notice

To reproduce the performance in the paper:

  • Use RTX 3090 and GeForce Game Ready Driver Version 471.68
  • Driver versions newer than 471.68 can cause significant slow down of our method with large VDB models (like the bunny cloud).

How to compile

  • Open Falcor.sln and Build Solution in configuration ReleaseD3D12

Run the demo

  • execute RunDemo.bat (you can edit the script to select what you want to run)
  • an example screenshot

Fetch example scenes

  • Download the example scenes (7.87 GB) here and extract the zip file inside Bin\x64\Release\Data
  • You can also extract the zip file inside Source\RenderPasses\VolumetricReSTIR\Data. In this way, every time the project VolumetricReSTIR is built, the content will be pasted into the binary folder of your build configuration

Prepare GVDB asset (.vbx files)

  • run GVDBConverter\gImportVDB.exe [Your VDB file].vdb [Number of Mip Levels]
  • Example: GVDBConverter\gImportVDB.exe volumetric_bunny.vdb 4
  • The converter will generate .vbx files for each mip map level and corresponding conservative grids (zero-density voxels are replaced by the average density of their neighbors). If the original VDB file contains temperature or velocity grids, they will also be converted into separate .vbx files.
  • To compile the gImportVDB.exe, go to gvdb-voxel-src folder and use CMake. The source code is modified from https://github.com/NVIDIA/gvdb-voxels

To enable Optix denoiser

  • The denoiser requires CUDA (tested against 10.1/10.2, but higher versions should also be supported) and Optix 7.3. Make sure that you have those two SDKs in your computer if you want to use the Optix denoiser.
  • Go to "Source\Externals.packman" and run mklink /J cuda [Your CUDA sdk installation directory] and mklink /J optix [Your Optix sdk installation directory] to create junctions named "cuda" and "optix"
  • Example: mklink /J cuda "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1" and mklink /J optix "C:\ProgramData\NVIDIA Corporation\OptiX SDK 7.3.0\include"
  • Source\RenderPasses\VolumetricReSTIR\Scripts\run_plume_denoiser.py is an example script showing how to use optix denoiser on top of our render pass
You might also like...
Fast parallel CTC.
Fast parallel CTC.

In Chinese 中文版 warp-ctc A fast parallel implementation of CTC, on both CPU and GPU. Introduction Connectionist Temporal Classification is a loss funct

ThunderGBM: Fast GBDTs and Random Forests on GPUs
ThunderGBM: Fast GBDTs and Random Forests on GPUs

Documentations | Installation | Parameters | Python (scikit-learn) interface What's new? ThunderGBM won 2019 Best Paper Award from IEEE Transactions o

ThunderSVM: A Fast SVM Library on GPUs and CPUs
ThunderSVM: A Fast SVM Library on GPUs and CPUs

What's new We have recently released ThunderGBM, a fast GBDT and Random Forest library on GPUs. add scikit-learn interface, see here Overview The miss

Fast, differentiable sorting and ranking in PyTorch
Fast, differentiable sorting and ranking in PyTorch

Torchsort Fast, differentiable sorting and ranking in PyTorch. Pure PyTorch implementation of Fast Differentiable Sorting and Ranking (Blondel et al.)

The official implementation of our CVPR 2021 paper - Hybrid Rotation Averaging: A Fast and Robust Rotation Averaging Approach

Graph Optimizer This repo contains the official implementation of our CVPR 2021 paper - Hybrid Rotation Averaging: A Fast and Robust Rotation Averagin

Unofficial third-party implementation of FFD (fast feature detector) published in IEEE TIP 2020.

fast_feature_detector Unofficial third-party implementation of FFD (fast feature detector) published in IEEE TIP 2020. Caution I have not got any perm

SOINN / 聚类 / 无监督聚类 / 快速 / clustering / unsupervised clustering / fast
SOINN / 聚类 / 无监督聚类 / 快速 / clustering / unsupervised clustering / fast

____ ___ ___ _ _ _ _ / ___| / _ \_ _| \ | | \ | | \___ \| | | | || \| | \| | ___) | |_| | || |\ | |\ | |____/ \___/___|_| \_|_| \_| SOIN

CTranslate2 is a fast inference engine for OpenNMT-py and OpenNMT-tf models supporting both CPU and GPU executio

CTranslate2 is a fast inference engine for OpenNMT-py and OpenNMT-tf models supporting both CPU and GPU execution. The goal is to provide comprehensive inference features and be the most efficient and cost-effective solution to deploy standard neural machine translation systems such as Transformer models.

fast face classification
fast face classification

Fast Face Classification (F²C)—— An Efficient Training Approach for Very Large Scale Face Recognition Training on ultra-large-scale datasets is time-c

Owner
Lin Daqi
Lin Daqi
ADOP: Approximate Differentiable One-Pixel Point Rendering

ADOP: Approximate Differentiable One-Pixel Point Rendering

Darius Rückert 1.9k Oct 2, 2022
OptimizedMetaBall - 🔮GPU-based real-time raytracing rendering of transparent metaball

Optimized Raytracing MetaBall: Acceleration and Transparent ?? GPU-based real-time raytracing rendering of transparent metaball. (Project for CS337 Co

Hangyu Ye 3 Mar 9, 2022
The Forge Cross-Platform Rendering Framework PC Windows, Linux, Ray Tracing, macOS / iOS, Android, XBOX, PS4, PS5, Switch, Quest 2

The Forge is a cross-platform rendering framework supporting PC Windows 10 / 7 with DirectX 12 / Vulkan 1.1 with DirectX Ray Tracing API DirectX 11 Fa

The Forge / Confetti 3.2k Sep 28, 2022
Fast and robust certifiable relative pose estimation

Fast and Robust Relative Pose Estimation for Calibrated Cameras This repository contains the code for the relative pose estimation between two central

null 40 Jul 23, 2022
A light and fast internet speed plugin(DDE).

lfxNet English | 简体中文 | 繁體中文 lfxNet 是一款轻量、快速的实时显示系统资源信息的应用程序。 目录 背景 编译 下载 作者 鸣谢 协议 背景 喜爱 DDE ,为 Deepin 爱好者、也是开发者之一。因习惯其它系统上有一个任务栏网速插件,但在 Deepin/UOS上没有

偕臧 54 Sep 5, 2022
fast zksnark prover

rapidsnark rapid snark is a zkSnark proof generation written in C++ and intel assembly. That generates proofs created in circom and snarkjs very fast.

iden3 60 Sep 23, 2022
Blazing fast, composable, Pythonic quantile filters.

Rolling Quantiles for NumPy Hyper-efficient and composable filters. Simple, clean, intuitive interface. Supports streaming data or bulk processing. Py

Myrl Marmarelis 122 Aug 2, 2022
Caffe: a fast open framework for deep learning.

Caffe Caffe is a deep learning framework made with expression, speed, and modularity in mind. It is developed by Berkeley AI Research (BAIR)/The Berke

Berkeley Vision and Learning Center 32.9k Oct 5, 2022
A fast, scalable, high performance Gradient Boosting on Decision Trees library, used for ranking, classification, regression and other machine learning tasks for Python, R, Java, C++. Supports computation on CPU and GPU.

Website | Documentation | Tutorials | Installation | Release Notes CatBoost is a machine learning method based on gradient boosting over decision tree

CatBoost 6.7k Oct 3, 2022
A fast, distributed, high performance gradient boosting (GBT, GBDT, GBRT, GBM or MART) framework based on decision tree algorithms, used for ranking, classification and many other machine learning tasks.

Light Gradient Boosting Machine LightGBM is a gradient boosting framework that uses tree based learning algorithms. It is designed to be distributed a

Microsoft 14.2k Oct 3, 2022