From 99b82d944937ce321f64aa91fb18ab2aedd3992a Mon Sep 17 00:00:00 2001 From: "Graham Linden graham@lindenlab.com" Date: Sun, 18 Feb 2018 15:52:23 +0000 Subject: Atmospherics WIP libatmosphere integrated in indra/llrender/llatmosphere.cpp Still working on runtime shaders to use libatmosphere precomputed atmospherics textures --- indra/newview/llviewershadermgr.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'indra/newview/llviewershadermgr.h') diff --git a/indra/newview/llviewershadermgr.h b/indra/newview/llviewershadermgr.h index 923aa522ad..10c60187f3 100644 --- a/indra/newview/llviewershadermgr.h +++ b/indra/newview/llviewershadermgr.h @@ -184,6 +184,8 @@ extern LLGLSLShader gDebugProgram; extern LLGLSLShader gClipProgram; extern LLGLSLShader gDownsampleDepthProgram; extern LLGLSLShader gDownsampleDepthRectProgram; +extern LLGLSLShader gDownsampleMinMaxDepthRectProgram; +extern LLGLSLShader gInscatterRectProgram; extern LLGLSLShader gBenchmarkProgram; //output tex0[tc0] + tex1[tc1] -- cgit v1.2.3 From 507c4921826e73635f6ae31087ab0e6cd1280f43 Mon Sep 17 00:00:00 2001 From: Graham Linden Date: Fri, 8 Jun 2018 22:22:20 +0100 Subject: Add specific shader for the moon to allow different rendering at day vs night. Add MouseMoon positioning ala MouseSun debug setting and accessors to use it. --- indra/newview/llviewershadermgr.h | 1 + 1 file changed, 1 insertion(+) (limited to 'indra/newview/llviewershadermgr.h') diff --git a/indra/newview/llviewershadermgr.h b/indra/newview/llviewershadermgr.h index 10c60187f3..d4967ca5a5 100644 --- a/indra/newview/llviewershadermgr.h +++ b/indra/newview/llviewershadermgr.h @@ -279,6 +279,7 @@ extern LLGLSLShader gImpostorProgram; // WindLight shader handles extern LLGLSLShader gWLSkyProgram; extern LLGLSLShader gWLCloudProgram; +extern LLGLSLShader gWLMoonProgram; // Post Process Shaders extern LLGLSLShader gPostColorFilterProgram; -- cgit v1.2.3 From a98d27d976f9cdb07635e7eb7d2c194cf3b7f987 Mon Sep 17 00:00:00 2001 From: Graham Linden Date: Wed, 27 Jun 2018 18:18:14 +0100 Subject: Remove unused member vectors of uniforms from LLViewerShaderMgr. --- indra/newview/llviewershadermgr.h | 18 ------------------ 1 file changed, 18 deletions(-) (limited to 'indra/newview/llviewershadermgr.h') diff --git a/indra/newview/llviewershadermgr.h b/indra/newview/llviewershadermgr.h index d4967ca5a5..e8fb79f9d2 100644 --- a/indra/newview/llviewershadermgr.h +++ b/indra/newview/llviewershadermgr.h @@ -129,24 +129,6 @@ public: /* virtual */ void updateShaderUniforms(LLGLSLShader * shader); private: - - std::vector mShinyUniforms; - - //water parameters - std::vector mWaterUniforms; - - std::vector mWLUniforms; - - //terrain parameters - std::vector mTerrainUniforms; - - //glow parameters - std::vector mGlowUniforms; - - std::vector mGlowExtractUniforms; - - std::vector mAvatarUniforms; - // the list of shaders we need to propagate parameters to. std::vector mShaderList; -- cgit v1.2.3 From 5c2f49b86511f88de520f4297f20e6382139a927 Mon Sep 17 00:00:00 2001 From: Graham Linden Date: Wed, 27 Jun 2018 22:00:50 +0100 Subject: Make distinct ALM moon shader, tweak mix factor for day vs night moon shading, and fix transposed name of daycycle func. --- indra/newview/llviewershadermgr.h | 1 + 1 file changed, 1 insertion(+) (limited to 'indra/newview/llviewershadermgr.h') diff --git a/indra/newview/llviewershadermgr.h b/indra/newview/llviewershadermgr.h index e8fb79f9d2..fc788b944b 100644 --- a/indra/newview/llviewershadermgr.h +++ b/indra/newview/llviewershadermgr.h @@ -316,6 +316,7 @@ extern LLGLSLShader gDeferredAvatarEyesProgram; extern LLGLSLShader gDeferredAvatarAlphaProgram; extern LLGLSLShader gDeferredWLSkyProgram; extern LLGLSLShader gDeferredWLCloudProgram; +extern LLGLSLShader gDeferredWLMoonProgram; extern LLGLSLShader gDeferredStarProgram; extern LLGLSLShader gDeferredFullbrightShinyProgram; extern LLGLSLShader gDeferredSkinnedFullbrightShinyProgram; -- cgit v1.2.3 From 8969b114357d189e1bf39024762698eeddddfc78 Mon Sep 17 00:00:00 2001 From: Graham Linden Date: Tue, 3 Jul 2018 16:37:32 +0100 Subject: MAINT-8838 render a sun disc if the texture(s) are provided by WL settings (default is no sun disc and just haze) Refactor sky texture optimization to retain building the cubemap used by shiny. --- indra/newview/llviewershadermgr.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'indra/newview/llviewershadermgr.h') diff --git a/indra/newview/llviewershadermgr.h b/indra/newview/llviewershadermgr.h index fc788b944b..250f8f1ee3 100644 --- a/indra/newview/llviewershadermgr.h +++ b/indra/newview/llviewershadermgr.h @@ -261,6 +261,7 @@ extern LLGLSLShader gImpostorProgram; // WindLight shader handles extern LLGLSLShader gWLSkyProgram; extern LLGLSLShader gWLCloudProgram; +extern LLGLSLShader gWLSunProgram; extern LLGLSLShader gWLMoonProgram; // Post Process Shaders @@ -316,6 +317,7 @@ extern LLGLSLShader gDeferredAvatarEyesProgram; extern LLGLSLShader gDeferredAvatarAlphaProgram; extern LLGLSLShader gDeferredWLSkyProgram; extern LLGLSLShader gDeferredWLCloudProgram; +extern LLGLSLShader gDeferredWLSunProgram; extern LLGLSLShader gDeferredWLMoonProgram; extern LLGLSLShader gDeferredStarProgram; extern LLGLSLShader gDeferredFullbrightShinyProgram; -- cgit v1.2.3 From 7e9033821a96a9d6e80b58fafb4c7da63807b9d4 Mon Sep 17 00:00:00 2001 From: Graham Linden Date: Thu, 6 Dec 2018 10:59:11 -0800 Subject: De-duplicate deferred gbuffer access for getPosition/getNorm. De-duplicate ambient occlusion shader code and move to new aoUtil.glsl Split shared shadow tap funcs into shadowUtil.glsl --- indra/newview/llviewershadermgr.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/newview/llviewershadermgr.h') diff --git a/indra/newview/llviewershadermgr.h b/indra/newview/llviewershadermgr.h index 250f8f1ee3..ac2cfc1160 100644 --- a/indra/newview/llviewershadermgr.h +++ b/indra/newview/llviewershadermgr.h @@ -48,7 +48,7 @@ public: void initAttribsAndUniforms(void); void setShaders(); void unloadShaders(); - S32 getVertexShaderLevel(S32 type); + S32 getShaderLevel(S32 type); BOOL loadBasicShaders(); BOOL loadShadersEffects(); BOOL loadShadersDeferred(); @@ -60,7 +60,7 @@ public: BOOL loadShadersWindLight(); BOOL loadTransformShaders(); - std::vector mVertexShaderLevel; + std::vector mShaderLevel; S32 mMaxAvatarShaderLevel; enum EShaderClass -- cgit v1.2.3 From 07bff3129adaabb90f09b71fa65c8be0c3ecef5d Mon Sep 17 00:00:00 2001 From: Graham Linden Date: Wed, 19 Dec 2018 14:59:19 -0800 Subject: Add new shaders for advanced atmo SH env lighting calcs. --- indra/newview/llviewershadermgr.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'indra/newview/llviewershadermgr.h') diff --git a/indra/newview/llviewershadermgr.h b/indra/newview/llviewershadermgr.h index ac2cfc1160..75438bcff7 100644 --- a/indra/newview/llviewershadermgr.h +++ b/indra/newview/llviewershadermgr.h @@ -325,6 +325,10 @@ extern LLGLSLShader gDeferredSkinnedFullbrightShinyProgram; extern LLGLSLShader gDeferredSkinnedFullbrightProgram; extern LLGLSLShader gNormalMapGenProgram; +extern LLGLSLShader gDeferredGenSkyShProgram; +extern LLGLSLShader gDeferredGatherSkyShProgram; +extern LLGLSLShader gDeferredShVisProgram; + // Deferred materials shaders extern LLGLSLShader gDeferredMaterialProgram[LLMaterial::SHADER_COUNT*2]; extern LLGLSLShader gDeferredMaterialWaterProgram[LLMaterial::SHADER_COUNT*2]; -- cgit v1.2.3 From 2312efbf3ae09013bc86a2378bed43a743f2df3e Mon Sep 17 00:00:00 2001 From: Graham Linden Date: Fri, 4 Jan 2019 10:17:09 -0800 Subject: Add new shaders for generating shadows from clouds. Add new class3 shadow shaders for VSM shadows. Add disabled shadow pass in WLSky for using above. --- indra/newview/llviewershadermgr.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'indra/newview/llviewershadermgr.h') diff --git a/indra/newview/llviewershadermgr.h b/indra/newview/llviewershadermgr.h index 75438bcff7..18d81bf865 100644 --- a/indra/newview/llviewershadermgr.h +++ b/indra/newview/llviewershadermgr.h @@ -261,6 +261,7 @@ extern LLGLSLShader gImpostorProgram; // WindLight shader handles extern LLGLSLShader gWLSkyProgram; extern LLGLSLShader gWLCloudProgram; +extern LLGLSLShader gWLCloudShadowProgram; extern LLGLSLShader gWLSunProgram; extern LLGLSLShader gWLMoonProgram; @@ -317,6 +318,7 @@ extern LLGLSLShader gDeferredAvatarEyesProgram; extern LLGLSLShader gDeferredAvatarAlphaProgram; extern LLGLSLShader gDeferredWLSkyProgram; extern LLGLSLShader gDeferredWLCloudProgram; +extern LLGLSLShader gDeferredWLCloudShadowProgram; extern LLGLSLShader gDeferredWLSunProgram; extern LLGLSLShader gDeferredWLMoonProgram; extern LLGLSLShader gDeferredStarProgram; -- cgit v1.2.3 From 08440def112395487d57a9d6e719c7700d7134b5 Mon Sep 17 00:00:00 2001 From: Graham Linden Date: Wed, 30 Jan 2019 12:34:20 -0800 Subject: WIP for 10374 (reduce number of shaders linking against deferredUtil). Prepare for using ifdef to conditionally engage using gl_FragDepth in water shaders (because GL requires that writing to gl_FragDepth on any path means you need to write a depth value on every path). --- indra/newview/llviewershadermgr.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'indra/newview/llviewershadermgr.h') diff --git a/indra/newview/llviewershadermgr.h b/indra/newview/llviewershadermgr.h index 18d81bf865..05e1681b40 100644 --- a/indra/newview/llviewershadermgr.h +++ b/indra/newview/llviewershadermgr.h @@ -239,6 +239,7 @@ extern LLGLSLShader gSkinnedObjectShinySimpleWaterProgram; extern LLGLSLShader gTerrainProgram; extern LLGLSLShader gTerrainWaterProgram; extern LLGLSLShader gWaterProgram; +extern LLGLSLShader gWaterEdgeProgram; extern LLGLSLShader gUnderWaterProgram; extern LLGLSLShader gGlowProgram; extern LLGLSLShader gGlowExtractProgram; @@ -273,6 +274,7 @@ extern LLGLSLShader gPostNightVisionProgram; // Deferred rendering shaders extern LLGLSLShader gDeferredImpostorProgram; extern LLGLSLShader gDeferredWaterProgram; +extern LLGLSLShader gDeferredWaterEdgeProgram; extern LLGLSLShader gDeferredUnderWaterProgram; extern LLGLSLShader gDeferredDiffuseProgram; extern LLGLSLShader gDeferredDiffuseAlphaMaskProgram; -- cgit v1.2.3 From 767fb53aeb1ac92a141586b1c0b5d1e5d327b281 Mon Sep 17 00:00:00 2001 From: Graham Linden Date: Thu, 31 Jan 2019 09:56:37 -0800 Subject: 9996 partial fix (works for non-ALM rendering only) Use a new edge water shader to allow forcing frag depth to avoid z-fighting at back edge of water edge pieces. This will not work for ALM because forcing the depth breaks the use of the depth to backproject gbuffer position which breaks lighting calcs. --- indra/newview/llviewershadermgr.h | 1 - 1 file changed, 1 deletion(-) (limited to 'indra/newview/llviewershadermgr.h') diff --git a/indra/newview/llviewershadermgr.h b/indra/newview/llviewershadermgr.h index 05e1681b40..411949f9f3 100644 --- a/indra/newview/llviewershadermgr.h +++ b/indra/newview/llviewershadermgr.h @@ -274,7 +274,6 @@ extern LLGLSLShader gPostNightVisionProgram; // Deferred rendering shaders extern LLGLSLShader gDeferredImpostorProgram; extern LLGLSLShader gDeferredWaterProgram; -extern LLGLSLShader gDeferredWaterEdgeProgram; extern LLGLSLShader gDeferredUnderWaterProgram; extern LLGLSLShader gDeferredDiffuseProgram; extern LLGLSLShader gDeferredDiffuseAlphaMaskProgram; -- cgit v1.2.3 From 65927e0a76aaf8ff4dc268acdb12007265ff3a14 Mon Sep 17 00:00:00 2001 From: Graham Linden Date: Wed, 13 Feb 2019 13:09:14 -0800 Subject: SL-10181, SL-10546 Fix distortion map rendering in deferred mode not including underwater fog effects. Fix distortion map rendering not including post-deferred content at all. Fix distortion map rendering not including anything but sky when camera is underwater. Update sun_up_factor/sunmoon_glow_factor uniforms even when sun disc isn't in use. --- indra/newview/llviewershadermgr.h | 1 + 1 file changed, 1 insertion(+) (limited to 'indra/newview/llviewershadermgr.h') diff --git a/indra/newview/llviewershadermgr.h b/indra/newview/llviewershadermgr.h index 411949f9f3..e55b59d4e2 100644 --- a/indra/newview/llviewershadermgr.h +++ b/indra/newview/llviewershadermgr.h @@ -285,6 +285,7 @@ extern LLGLSLShader gDeferredSkinnedBumpProgram; extern LLGLSLShader gDeferredSkinnedAlphaProgram; extern LLGLSLShader gDeferredBumpProgram; extern LLGLSLShader gDeferredTerrainProgram; +extern LLGLSLShader gDeferredTerrainWaterProgram; extern LLGLSLShader gDeferredTreeProgram; extern LLGLSLShader gDeferredTreeShadowProgram; extern LLGLSLShader gDeferredLightProgram; -- cgit v1.2.3 From d8eff424a5fb340b828802351e2b7f6b63bfa30f Mon Sep 17 00:00:00 2001 From: Graham Linden Date: Sat, 2 Mar 2019 07:17:46 -0800 Subject: SL-10664 --- indra/newview/llviewershadermgr.h | 3 --- 1 file changed, 3 deletions(-) (limited to 'indra/newview/llviewershadermgr.h') diff --git a/indra/newview/llviewershadermgr.h b/indra/newview/llviewershadermgr.h index e55b59d4e2..8e1801612e 100644 --- a/indra/newview/llviewershadermgr.h +++ b/indra/newview/llviewershadermgr.h @@ -329,9 +329,6 @@ extern LLGLSLShader gDeferredSkinnedFullbrightShinyProgram; extern LLGLSLShader gDeferredSkinnedFullbrightProgram; extern LLGLSLShader gNormalMapGenProgram; -extern LLGLSLShader gDeferredGenSkyShProgram; -extern LLGLSLShader gDeferredGatherSkyShProgram; -extern LLGLSLShader gDeferredShVisProgram; // Deferred materials shaders extern LLGLSLShader gDeferredMaterialProgram[LLMaterial::SHADER_COUNT*2]; -- cgit v1.2.3 From 898c9f44218353b3bf71b78ffce02662b4927625 Mon Sep 17 00:00:00 2001 From: Graham Linden Date: Wed, 13 Mar 2019 13:21:48 -0700 Subject: Mods to make merge with viewer-release have less whitespace-only change and fix diffs between EEP and VR. --- indra/newview/llviewershadermgr.h | 5 ----- 1 file changed, 5 deletions(-) (limited to 'indra/newview/llviewershadermgr.h') diff --git a/indra/newview/llviewershadermgr.h b/indra/newview/llviewershadermgr.h index 8e1801612e..66cb80657f 100644 --- a/indra/newview/llviewershadermgr.h +++ b/indra/newview/llviewershadermgr.h @@ -166,8 +166,6 @@ extern LLGLSLShader gDebugProgram; extern LLGLSLShader gClipProgram; extern LLGLSLShader gDownsampleDepthProgram; extern LLGLSLShader gDownsampleDepthRectProgram; -extern LLGLSLShader gDownsampleMinMaxDepthRectProgram; -extern LLGLSLShader gInscatterRectProgram; extern LLGLSLShader gBenchmarkProgram; //output tex0[tc0] + tex1[tc1] @@ -262,7 +260,6 @@ extern LLGLSLShader gImpostorProgram; // WindLight shader handles extern LLGLSLShader gWLSkyProgram; extern LLGLSLShader gWLCloudProgram; -extern LLGLSLShader gWLCloudShadowProgram; extern LLGLSLShader gWLSunProgram; extern LLGLSLShader gWLMoonProgram; @@ -320,7 +317,6 @@ extern LLGLSLShader gDeferredAvatarEyesProgram; extern LLGLSLShader gDeferredAvatarAlphaProgram; extern LLGLSLShader gDeferredWLSkyProgram; extern LLGLSLShader gDeferredWLCloudProgram; -extern LLGLSLShader gDeferredWLCloudShadowProgram; extern LLGLSLShader gDeferredWLSunProgram; extern LLGLSLShader gDeferredWLMoonProgram; extern LLGLSLShader gDeferredStarProgram; @@ -329,7 +325,6 @@ extern LLGLSLShader gDeferredSkinnedFullbrightShinyProgram; extern LLGLSLShader gDeferredSkinnedFullbrightProgram; extern LLGLSLShader gNormalMapGenProgram; - // Deferred materials shaders extern LLGLSLShader gDeferredMaterialProgram[LLMaterial::SHADER_COUNT*2]; extern LLGLSLShader gDeferredMaterialWaterProgram[LLMaterial::SHADER_COUNT*2]; -- cgit v1.2.3 From 11331604767b2dcf50c7a84f24843ce8e531a409 Mon Sep 17 00:00:00 2001 From: Graham Linden Date: Fri, 12 Jul 2019 13:26:02 -0700 Subject: SL-11109 Make shadowAlphaMask shader ignore vertex alpha before discards iff we're a fullbright object. Keep llappearance from stuffing dangling pointers into the alpha cache (crash iff you're using nSight debugging and disable readbacks). --- indra/newview/llviewershadermgr.h | 1 + 1 file changed, 1 insertion(+) (limited to 'indra/newview/llviewershadermgr.h') diff --git a/indra/newview/llviewershadermgr.h b/indra/newview/llviewershadermgr.h index 18be3c22aa..081221f15b 100644 --- a/indra/newview/llviewershadermgr.h +++ b/indra/newview/llviewershadermgr.h @@ -301,6 +301,7 @@ extern LLGLSLShader gDeferredSoftenWaterProgram; extern LLGLSLShader gDeferredShadowProgram; extern LLGLSLShader gDeferredShadowCubeProgram; extern LLGLSLShader gDeferredShadowAlphaMaskProgram; +extern LLGLSLShader gDeferredShadowFullbrightAlphaMaskProgram; extern LLGLSLShader gDeferredPostProgram; extern LLGLSLShader gDeferredCoFProgram; extern LLGLSLShader gDeferredDoFCombineProgram; -- cgit v1.2.3