• Stars
    star
    250
  • Rank 156,930 (Top 4 %)
  • Language
    C#
  • License
    MIT License
  • Created over 5 years ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

  • 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

Showcase

Real life usage

Screenshots

Before and After

Before 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

More Repositories

1

GPU-Planetary-Rendering

GPU atmosphertic scattering and planet generation in Unity 3D
C#
179
star
2

UIElementNodeGraph

A bare bones stripped down version of the shader graph editor using UIElements
C#
144
star
3

UniGit

An open source GIT Unity3D editor plugin.
C#
143
star
4

Code-Node-Editor

A graph node editor for generating C# scripts using .Net's CodeDOM in Unity.
C#
105
star
5

NNAO

Neural Network Ambien Occlusion based on http://theorangeduck.com/page/neural-network-ambient-occlusion
C#
88
star
6

UI-Node-Editor

A Unity node editor for creating Immediate mode UIs
C#
72
star
7

Flying-Pathfinding

Flying pathfinding prototype using an Octree in Unity 3D
C#
69
star
8

Galaxia-Runtime

Galaxy generator for Unity 3D, with Custom Particle Distributors, DirectX 11 Particles and Highly customization, curve driven Generation.
C#
51
star
9

MatterOverdrive

A Replication mod, for Minecraft
Java
43
star
10

Quadcopter-Controller

A prototype for a physically based quadcopter controller with an autopilot in Unity3D
ShaderLab
32
star
11

2D-Platformer

A 2D Action Platformer Experiment made with ECS/DOTS
C#
30
star
12

Coop-Design

A prototype for runtime cooperative level designing in Unity 3D
C#
20
star
13

Unity-Open-Source-Tools

Open Source Tools for Unity
C#
18
star
14

raymarching-nebula

A simple raymarching postprocessing stack effect.
C#
15
star
15

PlanetarySystem

A Planetary System Simulation
C++
12
star
16

Galaxia-Editor

C#
11
star
17

BakedInject

Baked dependency injection for Unity.
C#
10
star
18

PlayniteMQTTClient

🎮 MQTT Client Extension for Playnite
C#
8
star
19

kinect-hue-depth-encoding

Using a Kinect v1 and encoding its depth into a video file as a hue range, it can later be used to playback point-cloud animations.
C#
8
star
20

gameflow-launcher

Open-Source Video Game Library Manager. Built using react, Typescript and Electron.
TypeScript
6
star
21

electron-dam

A bundle based digital asset manager built on top of electron using React and typescript.
TypeScript
5
star
22

Play-Canvas-Electron-Editor

An offline Electron based editor for the Play Canvas game engine.
JavaScript
4
star
23

Galaxia-Issues

Galaxy generator for Unity 3D
2
star
24

NamedReferences

A small utility for the unity editor that shows references to and from the selected game object in the hierarchy window.
C#
1
star