From d7b2016e39cb298a0a105e624ecc7bcf9d7db187 Mon Sep 17 00:00:00 2001 From: Ptolemy Date: Fri, 29 Jan 2021 13:04:39 -0800 Subject: SL-14731: Fix sun gamma -- merge Sovereign Engineer's patch: Fix sun gamma space for accurate color reproduction of sun textures --- doc/contributions.txt | 1 + 1 file changed, 1 insertion(+) (limited to 'doc') diff --git a/doc/contributions.txt b/doc/contributions.txt index 81c44d2961..2f506e16ae 100755 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -1356,6 +1356,7 @@ Sovereign Engineer SL-11625 SL-14705 SL-14707 + SL-14731 SpacedOut Frye VWR-34 VWR-45 -- cgit v1.3 From cc6d132e90921c7006253f6fba149d22f2cabd39 Mon Sep 17 00:00:00 2001 From: Ptolemy Date: Fri, 29 Jan 2021 14:32:37 -0800 Subject: SL-14732: Merge Sovereign Engineer's cloud patch: Fix writing outside outside of the bound fbo in forward render class2 cloud shader --- doc/contributions.txt | 1 + indra/newview/app_settings/shaders/class2/windlight/cloudsF.glsl | 8 +++----- 2 files changed, 4 insertions(+), 5 deletions(-) (limited to 'doc') diff --git a/doc/contributions.txt b/doc/contributions.txt index 2f506e16ae..b5e8e91279 100755 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -1357,6 +1357,7 @@ Sovereign Engineer SL-14705 SL-14707 SL-14731 + SL-14732 SpacedOut Frye VWR-34 VWR-45 diff --git a/indra/newview/app_settings/shaders/class2/windlight/cloudsF.glsl b/indra/newview/app_settings/shaders/class2/windlight/cloudsF.glsl index 75bf8730df..fa928d993e 100644 --- a/indra/newview/app_settings/shaders/class2/windlight/cloudsF.glsl +++ b/indra/newview/app_settings/shaders/class2/windlight/cloudsF.glsl @@ -26,9 +26,9 @@ /*[EXTRA_CODE_HERE]*/ #ifdef DEFINE_GL_FRAGCOLOR -out vec4 frag_data[3]; +out vec4 frag_color; #else -#define frag_data gl_FragData +#define frag_color gl_FragColor #endif ///////////////////////////////////////////////////////////////////////// @@ -126,8 +126,6 @@ void main() color.rgb = scaleSoftClip(color.rgb); /// Gamma correct for WL (soft clip effect). - frag_data[0] = vec4(color.rgb, alpha1); - frag_data[1] = vec4(0.0,0.0,0.0,0.0); - frag_data[2] = vec4(0,0,0,1); + frag_color = vec4(color.rgb, alpha1); } -- cgit v1.3 From ab02a6dfd42bb44bdfbdf5a97221c0abdfbe81e2 Mon Sep 17 00:00:00 2001 From: Ptolemy Date: Fri, 29 Jan 2021 18:41:04 -0800 Subject: SL-14706 Merge Sovereign Engineer's fix for stars not centered around camera: Stars render around center of sim instead of center of camera. --- doc/contributions.txt | 1 + indra/newview/lldrawpoolwlsky.cpp | 13 +++++++++---- indra/newview/lldrawpoolwlsky.h | 4 ++-- 3 files changed, 12 insertions(+), 6 deletions(-) (limited to 'doc') diff --git a/doc/contributions.txt b/doc/contributions.txt index 81c44d2961..9daddf6ddc 100755 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -1355,6 +1355,7 @@ Sovereign Engineer OPEN-343 SL-11625 SL-14705 + SL-14706 SL-14707 SpacedOut Frye VWR-34 diff --git a/indra/newview/lldrawpoolwlsky.cpp b/indra/newview/lldrawpoolwlsky.cpp index d4e7f1600e..0c3d8f3098 100644 --- a/indra/newview/lldrawpoolwlsky.cpp +++ b/indra/newview/lldrawpoolwlsky.cpp @@ -226,7 +226,7 @@ void LLDrawPoolWLSky::renderSkyHaze(const LLVector3& camPosLocal, F32 camHeightL } } -void LLDrawPoolWLSky::renderStars(void) const +void LLDrawPoolWLSky::renderStars(const LLVector3& camPosLocal) const { LLGLSPipelineBlendSkyBox gls_skybox(true, false); @@ -266,6 +266,7 @@ void LLDrawPoolWLSky::renderStars(void) const } gGL.pushMatrix(); + gGL.translatef(camPosLocal.mV[0], camPosLocal.mV[1], camPosLocal.mV[2]); gGL.rotatef(gFrameTimeSeconds*0.01f, 0.f, 0.f, 1.f); if (LLGLSLShader::sNoFixedFunction) { @@ -296,7 +297,7 @@ void LLDrawPoolWLSky::renderStars(void) const } } -void LLDrawPoolWLSky::renderStarsDeferred(void) const +void LLDrawPoolWLSky::renderStarsDeferred(const LLVector3& camPosLocal) const { LLGLSPipelineBlendSkyBox gls_sky(true, false); @@ -337,6 +338,8 @@ void LLDrawPoolWLSky::renderStarsDeferred(void) const gGL.getTexUnit(1)->bind(tex_b); } + gGL.pushMatrix(); + gGL.translatef(camPosLocal.mV[0], camPosLocal.mV[1], camPosLocal.mV[2]); gDeferredStarProgram.uniform1f(LLShaderMgr::BLEND_FACTOR, blend_factor); if (LLPipeline::sReflectionRender) @@ -355,6 +358,8 @@ void LLDrawPoolWLSky::renderStarsDeferred(void) const gGL.getTexUnit(1)->unbind(LLTexUnit::TT_TEXTURE); gDeferredStarProgram.unbind(); + + gGL.popMatrix(); } void LLDrawPoolWLSky::renderSkyCloudsDeferred(const LLVector3& camPosLocal, F32 camHeightLocal, LLGLSLShader* cloudshader) const @@ -601,7 +606,7 @@ void LLDrawPoolWLSky::renderDeferred(S32 pass) if (gPipeline.canUseWindLightShaders()) { renderSkyHazeDeferred(origin, camHeightLocal); - renderStarsDeferred(); + renderStarsDeferred(origin); renderHeavenlyBodies(); renderSkyCloudsDeferred(origin, camHeightLocal, cloud_shader); } @@ -620,7 +625,7 @@ void LLDrawPoolWLSky::render(S32 pass) LLVector3 const & origin = LLViewerCamera::getInstance()->getOrigin(); renderSkyHaze(origin, camHeightLocal); - renderStars(); + renderStars(origin); renderHeavenlyBodies(); renderSkyClouds(origin, camHeightLocal, cloud_shader); diff --git a/indra/newview/lldrawpoolwlsky.h b/indra/newview/lldrawpoolwlsky.h index a4f176d6db..324886ed42 100644 --- a/indra/newview/lldrawpoolwlsky.h +++ b/indra/newview/lldrawpoolwlsky.h @@ -78,8 +78,8 @@ private: void renderSkyHazeDeferred(const LLVector3& camPosLocal, F32 camHeightLocal) const; void renderSkyCloudsDeferred(const LLVector3& camPosLocal, F32 camHeightLocal, LLGLSLShader* cloudshader) const; - void renderStarsDeferred(void) const; - void renderStars(void) const; + void renderStarsDeferred(const LLVector3& camPosLocal) const; + void renderStars(const LLVector3& camPosLocal) const; void renderHeavenlyBodies(); }; -- cgit v1.3