97 lines
2.5 KiB
Plaintext
97 lines
2.5 KiB
Plaintext
Shader "Hidden/VolumetricLights/Blur"
|
|
{
|
|
Properties
|
|
{
|
|
_BlueNoise("BlueNoise Tex", 2D) = "black" {}
|
|
[HideInInspector] _BlendOp("Blend Op", Int) = 0
|
|
[HideInInspector] _BlendSrc("Blend Src", Int) = 1
|
|
[HideInInspector] _BlendDest("Blend Dest", Int) = 1
|
|
}
|
|
SubShader
|
|
{
|
|
ZWrite Off ZTest Always Blend Off Cull Off
|
|
|
|
HLSLINCLUDE
|
|
#pragma target 3.0
|
|
#pragma prefer_hlslcc gles
|
|
#pragma exclude_renderers d3d11_9x
|
|
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Filtering.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
|
|
#include "Packages/com.unity.render-pipelines.universal/Shaders/PostProcessing/Common.hlsl"
|
|
ENDHLSL
|
|
|
|
Pass { // 0
|
|
Name "Blur horizontally"
|
|
HLSLPROGRAM
|
|
#pragma vertex VertBlur
|
|
#pragma fragment FragBlur
|
|
#pragma multi_compile_local _ EDGE_PRESERVE EDGE_PRESERVE_UPSCALING
|
|
#define BLUR_HORIZ
|
|
#include "Blur.hlsl"
|
|
ENDHLSL
|
|
}
|
|
|
|
Pass { // 1
|
|
Name "Blur vertically"
|
|
HLSLPROGRAM
|
|
#pragma vertex VertBlur
|
|
#pragma fragment FragBlur
|
|
#pragma multi_compile_local _ EDGE_PRESERVE EDGE_PRESERVE_UPSCALING
|
|
#define BLUR_VERT
|
|
#include "Blur.hlsl"
|
|
ENDHLSL
|
|
}
|
|
|
|
Pass { // 2
|
|
Name "Final vertical blur and blend"
|
|
BlendOp [_BlendOp]
|
|
Blend [_BlendSrc] [_BlendDest]
|
|
HLSLPROGRAM
|
|
#pragma vertex VertBlur
|
|
#pragma fragment FragBlur
|
|
#pragma multi_compile_local _ EDGE_PRESERVE EDGE_PRESERVE_UPSCALING
|
|
#pragma multi_compile_local _ DITHER
|
|
#define BLUR_VERT
|
|
#define FINAL_BLEND
|
|
#include "Blur.hlsl"
|
|
ENDHLSL
|
|
}
|
|
|
|
Pass { // 3
|
|
Name "Separated Blend (used with upscaling)"
|
|
BlendOp [_BlendOp]
|
|
Blend[_BlendSrc][_BlendDest]
|
|
HLSLPROGRAM
|
|
#pragma vertex VertSimple
|
|
#pragma fragment FragSeparatedBlend
|
|
#pragma multi_compile_local _ DITHER
|
|
#include "Blur.hlsl"
|
|
ENDHLSL
|
|
}
|
|
|
|
Pass { // 4
|
|
Name "Downscale depth"
|
|
HLSLPROGRAM
|
|
#pragma vertex VertSimple
|
|
#pragma fragment FragOnlyDepth
|
|
#include "Blur.hlsl"
|
|
ENDHLSL
|
|
}
|
|
|
|
Pass { // 5
|
|
Name "Blur vertically final (used with downscaling)"
|
|
HLSLPROGRAM
|
|
#pragma vertex VertBlur
|
|
#pragma fragment FragBlur
|
|
#define BLUR_VERT
|
|
#define FINAL_BLEND
|
|
#pragma multi_compile_local _ EDGE_PRESERVE EDGE_PRESERVE_UPSCALING
|
|
#include "Blur.hlsl"
|
|
ENDHLSL
|
|
}
|
|
|
|
}
|
|
}
|