Files
2025-12-15 00:12:16 +07:00

44 lines
1.3 KiB
Plaintext

Shader "Hidden/Custom/BloomComposite"
{
Properties
{
_BloomTex("BloomTex", 2D) = "white" {}
_Intensity("Intensity", Float) = 1
}
SubShader
{
Tags { "RenderType"="Opaque" "Queue"="Overlay" }
Cull Off ZWrite Off ZTest Always
Pass
{
HLSLPROGRAM
#pragma vertex VertDefault
#pragma fragment FragComposite
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
TEXTURE2D(_BloomTex); SAMPLER(sampler_BloomTex);
float _Intensity;
struct Attributes { float4 positionOS : POSITION; float2 uv : TEXCOORD0; };
struct Varyings { float4 positionH : SV_POSITION; float2 uv : TEXCOORD0; };
Varyings VertDefault(Attributes IN)
{
Varyings OUT;
OUT.positionH = TransformObjectToHClip(IN.positionOS);
OUT.uv = IN.uv;
return OUT;
}
float4 FragComposite(Varyings IN) : SV_Target
{
float3 bloom = SAMPLE_TEXTURE2D(_BloomTex, sampler_BloomTex, IN.uv).rgb;
// Additive composite
return float4(bloom * _Intensity, 1.0);
}
ENDHLSL
}
}
}