From ccf0114f36968d6cf6dfb11e1c5a035406314924 Mon Sep 17 00:00:00 2001 From: mobserveur Date: Mon, 8 Sep 2025 17:26:53 +0200 Subject: Optimisations and experimental HDR display support on mac This commit completes the previous ones for performance optimisations, and adds HDR display support on mac --- .../app_settings/shaders/class1/effects/bloomCombineF.glsl | 12 +++++------- .../app_settings/shaders/class1/effects/bloomExtractF.glsl | 4 ++-- 2 files changed, 7 insertions(+), 9 deletions(-) (limited to 'indra/newview/app_settings/shaders/class1/effects') diff --git a/indra/newview/app_settings/shaders/class1/effects/bloomCombineF.glsl b/indra/newview/app_settings/shaders/class1/effects/bloomCombineF.glsl index 31a6e10fa4..40cfdd6bff 100644 --- a/indra/newview/app_settings/shaders/class1/effects/bloomCombineF.glsl +++ b/indra/newview/app_settings/shaders/class1/effects/bloomCombineF.glsl @@ -6,18 +6,16 @@ uniform sampler2D diffuseMap; uniform sampler2D bloomBlurredMap; uniform float bloomStrength; +uniform float bloomClampValue; void main() { vec4 hdrColor = texture(diffuseMap, vary_texcoord0); - vec3 bloomColor = texture(bloomBlurredMap, vary_texcoord0).rgb; - vec4 result = vec4(0.0); + vec4 bloomColor = texture(bloomBlurredMap, vary_texcoord0); + vec4 result = hdrColor; - result.r = min(hdrColor.r + bloomStrength * bloomColor.r, 1.0); - result.g = min(hdrColor.g + bloomStrength * bloomColor.g, 1.0); - result.b = min(hdrColor.b + bloomStrength * bloomColor.b, 1.0); - result.a = hdrColor.a; + result.rgb += bloomStrength * bloomColor.rgb; + result.rgb = clamp(result.rgb, vec3(0.0), vec3(bloomClampValue)); - //bloomColor += hdrColor.rgb; frag_color = result; } \ No newline at end of file diff --git a/indra/newview/app_settings/shaders/class1/effects/bloomExtractF.glsl b/indra/newview/app_settings/shaders/class1/effects/bloomExtractF.glsl index 8fb10d8698..d878ab053e 100644 --- a/indra/newview/app_settings/shaders/class1/effects/bloomExtractF.glsl +++ b/indra/newview/app_settings/shaders/class1/effects/bloomExtractF.glsl @@ -56,7 +56,7 @@ void main() if(orm.b < 0.15) { // non metal - if(orm.g > bloomExtractNonMetal) + if(orm.g >= bloomExtractNonMetal) { discard; return; @@ -65,7 +65,7 @@ void main() else if(orm.b > 0.8) { // metal - if(orm.g > bloomExtractMetal) + if(orm.g >= bloomExtractMetal) { discard; return; -- cgit v1.2.3