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
}
}
}