/Post-Processing

My Unity post processing pipeline and shaders

Primary LanguageShaderLab

Post Processing Pipeline For Unity

This code accompanies my series on Post Processing on YouTube.

Features

  • Fog
  • Bloom
  • Depth Based Edge Detection
  • Color Correction
    • Exposure
    • White Balancing
    • Contrast
    • Brightness
    • Color Filtering
    • Saturation
  • Sharpness
  • Tonemapping
    • RGB Clamp
    • Tumblin Rushmeier
    • Schlick
    • Ward
    • Reinhard
    • Reinhard Extended
    • Hable
    • Uchimura
    • Narkowicz ACES
    • Hill ACES
  • Pixel Art Effects
    • Downsampling
    • Dithering
    • Color Palette Swapping
  • Gamma Corrector

Examples

Unmodified

noeffects

Fog

fog

Bloom

bloom

Color Correction (RGB Clamped)

colorcorrect

Tonemapping

Tumblin Rushmeier

tumblinrushmeier

Schlick

schlick

Ward

ward

Reinhard

reinhard

Reinhard Extended

reinhardextended

Hable

hable

Uchimura

uchimura

Narkowicz ACES

narkowicz

Hill ACES

hill

Pixel Art

Open images in their full resolution for optimal viewing. Sheik model is exported from melee.

sheik

2x Downsample

downsampled_sheik

1x Downsample + Dither

dithered_sheik

1x Downsample + Dither + Sharpness

sharp_dither

Still Frame:

sharp_dither_still

Color Palette Swapping

Original Colors:
dithered_grass

Palette Swapped (8-bit): color_swapped

References

https://catlikecoding.com/unity/tutorials/custom-srp/color-grading/
https://github.com/tizian/tonemapper
https://en.wikipedia.org/wiki/Ordered_dithering