diff --git a/indra/llrender/llpostprocess.cpp b/indra/llrender/llpostprocess.cpp --- a/indra/llrender/llpostprocess.cpp +++ b/indra/llrender/llpostprocess.cpp @@ -462,6 +462,7 @@ glVertex2f((GLfloat) width, (GLfloat) screenH - height); glEnd(); #endif + llassert_always(false); } void LLPostProcess::viewOrthogonal(unsigned int width, unsigned int height) diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -1434,7 +1434,7 @@ Type F32 Value - 10.0 + 30.0 CameraFNumber @@ -8137,7 +8137,7 @@ Type F32 Value - 0.7 + 0.5 RenderSpotLightsInNondeferred diff --git a/indra/newview/app_settings/shaders/class1/deferred/postDeferredF.glsl b/indra/newview/app_settings/shaders/class1/deferred/postDeferredF.glsl --- a/indra/newview/app_settings/shaders/class1/deferred/postDeferredF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/postDeferredF.glsl @@ -75,32 +75,28 @@ void main() { - vec2 tc = vary_fragcoord.xy; + vec4 diff = texture2DRect(diffuseRect, vary_fragcoord.xy); - vec4 diff = texture2DRect(diffuseRect, vary_fragcoord.xy); - - { + { + float sc = (diff.a*2.0-1.0)*max_cof; float w = 1.0; - - float sc = (diff.a*2.0-1.0)*max_cof; - float PI = 3.14159265358979323846264; + const float PI = 3.14159265358979323846264; // sample quite uniformly spaced points within a circle, for a circular 'bokeh' if (sc > 0.5) { while (sc > 0.5) { - int its = int(max(1.0,(sc*3.7))); + int its = int(max(1.0,(sc*PI))); for (int i=0; i 0.5) { - int its = int(max(1.0,(sc*3.7))); + int its = int(max(1.0,(sc*PI))); for (int i=0; i -1) { mDeferredLight.bindTexture(0, channel); + gGL.getTexUnit(channel)->setTextureFilteringOption(LLTexUnit::TFO_BILINEAR); // scale fairly pleasantly } shader->uniform1f(LLShaderMgr::DOF_MAX_COF, CameraMaxCoF);