diff options
| author | mobserveur <mobserveur@gmail.com> | 2025-10-05 17:00:58 +0200 |
|---|---|---|
| committer | mobserveur <mobserveur@gmail.com> | 2025-10-05 17:00:58 +0200 |
| commit | bf5af837a95f449f8f2164d51a9040f673bfd85a (patch) | |
| tree | 522ba1306658137f4b9455e0ae643fa9cf103128 /indra/newview | |
| parent | cee509bcb5a6045369237c0667d17f85f52b808a (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.glsl | 5 | ||||
| -rw-r--r-- | indra/newview/pipeline.cpp | 2 |
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; |
