summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authormobserveur <mobserveur@gmail.com>2025-10-05 17:00:58 +0200
committermobserveur <mobserveur@gmail.com>2025-10-05 17:00:58 +0200
commitbf5af837a95f449f8f2164d51a9040f673bfd85a (patch)
tree522ba1306658137f4b9455e0ae643fa9cf103128 /indra/newview
parentcee509bcb5a6045369237c0667d17f85f52b808a (diff)
sun reflection on the sea in hdr display mode + fix for white screen
This commit adds support for sun reflection on the sea in hdr display mode. It also fixes an issue where the display is all white with low color precision and non hdr & emissive mode.
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/app_settings/shaders/class3/environment/waterF.glsl5
-rw-r--r--indra/newview/pipeline.cpp2
2 files changed, 3 insertions, 4 deletions
diff --git a/indra/newview/app_settings/shaders/class3/environment/waterF.glsl b/indra/newview/app_settings/shaders/class3/environment/waterF.glsl
index deafa35298..c2167dfcba 100644
--- a/indra/newview/app_settings/shaders/class3/environment/waterF.glsl
+++ b/indra/newview/app_settings/shaders/class3/environment/waterF.glsl
@@ -326,7 +326,7 @@ void main()
radiance *= df2.y;
//radiance = toneMapNoExposure(radiance);
vec3 color = vec3(0);
- color = mix(fb.rgb, radiance, min(1.0, df2.x)) + punctual.rgb;
+ color = mix(fb.rgb, radiance, min(5.0, df2.x)) + punctual.rgb;
float water_haze_scale = 4.0;
@@ -344,6 +344,5 @@ void main()
float spec = min(max(max(punctual.r, punctual.g), punctual.b), 0.0);
- frag_color = min(vec4(1),max(vec4(color.rgb, spec * water_mask), vec4(0)));
+ frag_color = min(vec4(5),max(vec4(color.rgb, spec * water_mask), vec4(0)));
}
-
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index 8b0890a367..dde8b8ed2a 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -886,7 +886,7 @@ bool LLPipeline::allocateScreenBufferInternal(U32 resX, U32 resY, U32 type_)
if (!addDeferredAttachments(mRT->deferredScreen)) return false;
GLuint screenFormat = GL_RGBA16F;
- if(!hdr && !mHDRDisplay && MPColorPrecision == 1) screenFormat = GL_RGB8;
+ if(!hdr && !mHDRDisplay && MPColorPrecision == 1) screenFormat = GL_RGB10_A2;
if (!mRT->screen.allocate(resX, resY, GL_RGBA16F)) return false;