ComputeStochasticReflections
ComputeStochasticReflections copied to clipboard
Compute Stochastic Screen Space Reflections for unity post processing
Compute Stochastic Screen Space Reflections
Compute Stochastic Screen Space Reflections for Unity post processing. Utilizing shared memory for performance. Should be mostly production ready, except for a few Hierarchical Z-depth casting artifacts.
Contents
- Features
- Requirements
- Installation
- Usage
- References
- Showcase
- Real life usage
- Screenshots
- Before and After
- Performance
Features
- Hierarchical Z-depth casting
- Temporal reflection depth reprojection
- Median Filtering for extra denoising
- Reflection Color Mipmap Pyramid
- Raycast and resolve pass downsampling
- Frame reprojection for faking multiple bounces
- Specular elongation
- Contact hardening
Requirements
- Works only with deferred rendering
- Compute shader capable video card
- Unity Post Processing v2
- Tested with Unity 2018.2
Installation
In a unity project go to your Packages
folder. Open manifest.json
and add into the dependencies the following line:
"com.simeonradivoev.stochastic-reflections": "https://github.com/simeonradivoev/ComputeStochasticReflections.git"
It should look something like this:
{
"dependencies": {
"com.unity.ugui": "1.0.0",
"com.unity.modules.ui": "1.0.0",
"com.simeonradivoev.stochastic-reflections": "https://github.com/simeonradivoev/ComputeStochasticReflections.git",
}
}
Usage
Just add a new effect in a post processing profile under Custom/Stochastic Screen Space Reflections
For VR use the test branch called StereoRendering
. It currently only supports multi pass rendering.
References
- Rewritten from Xerxes1138
- Based mainly on Tomasz Stachowiak and Yasin Uludag, Siggraph15
Showcase
Real life usage
Screenshots
Before and After
Performance
Tested on a GTX 1070 at 1080p
-
Highest Quality, High Quality Blur
- Raycasting: 1.4 ms
- Blur: 0.73 ms
- Temporal: 0.67 ms
- Resolve: 0.55 ms
- Total + Others: 4.15 ms
-
Raycast and Resolved downsampled, Low Quality Blur
- Raycasting: 0.5 ms
- Temporal: 0.19 ms
- Resolve: 0.19 ms
- Total + Others: 1.7 ms