-Moved LLCachedControl stuff to llxui/llcontrol.h to ease usage in other projects.

-Fixed mistakes in LLCachedCOAControl revealed by GCC. Thanks Siana.
-LLCacheControl'd stuff related to postprocessing, which I may mess with later.

GCC... Sigh.
This commit is contained in:
unknown
2010-10-11 04:08:24 -05:00
parent fe9a3d2ba2
commit f46d8a767b
5 changed files with 185 additions and 168 deletions

View File

@@ -5424,18 +5424,27 @@ void LLPipeline::bindDeferredShader(LLGLSLShader& shader, U32 light_index)
}
shader.uniform4fv("shadow_clip", 1, mSunClipPlanes.mV);
shader.uniform1f("sun_wash", gSavedSettings.getF32("RenderDeferredSunWash"));
shader.uniform1f("shadow_noise", gSavedSettings.getF32("RenderShadowNoise"));
shader.uniform1f("blur_size", gSavedSettings.getF32("RenderShadowBlurSize"));
static LLCachedControl<F32> render_deferred_sun_wash("RenderDeferredSunWash",.5f);
static LLCachedControl<F32> render_shadow_noise("RenderShadowNoise",-.0001f);
static LLCachedControl<F32> render_shadow_blur_size("RenderShadowBlurSize",.7f);
static LLCachedControl<F32> render_ssao_scale("RenderSSAOScale",500);
static LLCachedControl<S32> render_ssao_max_scale("RenderSSAOMaxScale",60);
static LLCachedControl<F32> render_ssao_factor("RenderSSAOFactor",.3f);
static LLCachedControl<LLVector3> render_ssao_effect("RenderSSAOEffect",LLVector3(.4f,1,0));
static LLCachedControl<F32> render_deferred_alpha_soft("RenderDeferredAlphaSoften",.75f);
shader.uniform1f("ssao_radius", gSavedSettings.getF32("RenderSSAOScale"));
shader.uniform1f("ssao_max_radius", gSavedSettings.getU32("RenderSSAOMaxScale"));
shader.uniform1f("sun_wash", render_deferred_sun_wash);
shader.uniform1f("shadow_noise", render_shadow_noise);
shader.uniform1f("blur_size", render_shadow_blur_size);
F32 ssao_factor = gSavedSettings.getF32("RenderSSAOFactor");
shader.uniform1f("ssao_radius", render_ssao_scale);
shader.uniform1f("ssao_max_radius", render_ssao_max_scale);
F32 ssao_factor = render_ssao_factor;
shader.uniform1f("ssao_factor", ssao_factor);
shader.uniform1f("ssao_factor_inv", 1.0/ssao_factor);
LLVector3 ssao_effect = gSavedSettings.getVector3("RenderSSAOEffect");
LLVector3 ssao_effect = render_ssao_effect;
F32 matrix_diag = (ssao_effect[0] + 2.0*ssao_effect[1])/3.0;
F32 matrix_nondiag = (ssao_effect[0] - ssao_effect[1])/3.0;
// This matrix scales (proj of color onto <1/rt(3),1/rt(3),1/rt(3)>) by
@@ -5447,7 +5456,7 @@ void LLPipeline::bindDeferredShader(LLGLSLShader& shader, U32 light_index)
shader.uniform2f("screen_res", mDeferredScreen.getWidth(), mDeferredScreen.getHeight());
shader.uniform1f("near_clip", LLViewerCamera::getInstance()->getNear()*2.f);
shader.uniform1f("alpha_soften", gSavedSettings.getF32("RenderDeferredAlphaSoften"));
shader.uniform1f("alpha_soften", render_deferred_alpha_soft);
}
void LLPipeline::renderDeferredLighting()