summaryrefslogtreecommitdiffstatshomepage
path: root/hlsl/bloom.fx
diff options
context:
space:
mode:
author ImJezze <jezze@gmx.net>2015-10-10 17:02:51 +0200
committer ImJezze <jezze@gmx.net>2015-10-10 17:02:51 +0200
commit534cd86c17b10643deb65d9d5c8ab4df3ae011fb (patch)
tree9e202858d90c3337bf3ab143452e312e6d38fa8d /hlsl/bloom.fx
parent81c15decf84ed406812e1078191d1aa553abbc98 (diff)
Bloom Overdrive
- added experimental bloom overdrive effect and options, this effect allows to overdrive pure colors like red, green and blue to become more brighter - added lcd.ini to parse_standard_inis()
Diffstat (limited to 'hlsl/bloom.fx')
-rw-r--r--hlsl/bloom.fx13
1 files changed, 12 insertions, 1 deletions
diff --git a/hlsl/bloom.fx b/hlsl/bloom.fx
index 0b3a230bf5b..0bd981ae0e7 100644
--- a/hlsl/bloom.fx
+++ b/hlsl/bloom.fx
@@ -240,6 +240,8 @@ uniform float4 Level0123Weight;
uniform float4 Level4567Weight;
uniform float3 Level89AWeight;
+uniform float3 OverdriveWeight;
+
float3 GetNoiseFactor(float3 n, float random)
{
// smaller n become more noisy
@@ -284,6 +286,15 @@ float4 ps_main(PS_INPUT Input) : COLOR
texel9 +
texelA);
+ float3 bloomOverdrive = max(0.0f, texel0 + bloom - 1.0f) * OverdriveWeight;
+
+ bloom.r += bloomOverdrive.g * 0.5f;
+ bloom.r += bloomOverdrive.b * 0.5f;
+ bloom.g += bloomOverdrive.r * 0.5f;
+ bloom.g += bloomOverdrive.b * 0.5f;
+ bloom.b += bloomOverdrive.r * 0.5f;
+ bloom.b += bloomOverdrive.g * 0.5f;
+
float2 NoiseCoord = Input.TexCoord01.xy;
float3 NoiseFactor = GetNoiseFactor(bloom, random(NoiseCoord));
@@ -291,7 +302,7 @@ float4 ps_main(PS_INPUT Input) : COLOR
}
//-----------------------------------------------------------------------------
-// Downsample Effect
+// Bloom Effect
//-----------------------------------------------------------------------------
technique TestTechnique