diff options
| -rwxr-xr-x | indra/newview/app_settings/high_graphics.xml | 2 | ||||
| -rwxr-xr-x | indra/newview/app_settings/low_graphics.xml | 2 | ||||
| -rwxr-xr-x | indra/newview/app_settings/mid_graphics.xml | 2 | ||||
| -rwxr-xr-x | indra/newview/app_settings/settings.xml | 6 | ||||
| -rwxr-xr-x | indra/newview/app_settings/ultra_graphics.xml | 2 | ||||
| -rwxr-xr-x | indra/newview/featuretable.txt | 3 | ||||
| -rwxr-xr-x | indra/newview/featuretable_mac.txt | 3 | ||||
| -rwxr-xr-x | indra/newview/llvoavatar.cpp | 16 | 
8 files changed, 20 insertions, 16 deletions
| diff --git a/indra/newview/app_settings/high_graphics.xml b/indra/newview/app_settings/high_graphics.xml index f66ba3c4df..c38b3fcda4 100755 --- a/indra/newview/app_settings/high_graphics.xml +++ b/indra/newview/app_settings/high_graphics.xml @@ -29,7 +29,7 @@  	<!--Avater Impostors and Visual Muting Limits-->      <RenderAvatarMaxNonImpostors     value="20"/>      <RenderAvatarMaxComplexity              value="350000"/> -    <RenderAutoMuteSurfaceAreaLimit  value="10.0E6"/> +    <RenderAutoMuteSurfaceAreaLimit  value="1250.0"/>  	<!--Default for now-->  	<RenderVolumeLODFactor value="1.125"/>  	<!--NO SHADERS--> diff --git a/indra/newview/app_settings/low_graphics.xml b/indra/newview/app_settings/low_graphics.xml index 304e7c7347..b0ddb5bd56 100755 --- a/indra/newview/app_settings/low_graphics.xml +++ b/indra/newview/app_settings/low_graphics.xml @@ -29,7 +29,7 @@  	<!--Avater Impostors and Visual Muting Limits-->      <RenderAvatarMaxNonImpostors     value="12"/>      <RenderAvatarMaxComplexity              value="75000"/> -    <RenderAutoMuteSurfaceAreaLimit  value="10.0E6"/> +    <RenderAutoMuteSurfaceAreaLimit  value="750.0"/>  	<!--Default for now-->  	<RenderVolumeLODFactor value="1.125"/>  	<!--NO SHADERS--> diff --git a/indra/newview/app_settings/mid_graphics.xml b/indra/newview/app_settings/mid_graphics.xml index 68f193a15f..41344f935d 100755 --- a/indra/newview/app_settings/mid_graphics.xml +++ b/indra/newview/app_settings/mid_graphics.xml @@ -29,7 +29,7 @@  	<!--Avater Impostors and Visual Muting Limits-->      <RenderAvatarMaxNonImpostors     value="18"/>      <RenderAvatarMaxComplexity              value="100000"/> -    <RenderAutoMuteSurfaceAreaLimit  value="10.0E6"/> +    <RenderAutoMuteSurfaceAreaLimit  value="1000.0"/>  	<!--Default for now-->  	<RenderVolumeLODFactor value="1.125"/>  	<!--NO SHADERS--> diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index bb8b810b93..ef6107b1d5 100755 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -10030,13 +10030,15 @@    <key>RenderAutoMuteSurfaceAreaLimit</key>    <map>      <key>Comment</key> -    <string>Maximum surface area of attachments before an avatar is rendered as a simple impostor (0 to not use this limit).</string> +    <string>Maximum surface area of attachments before an avatar is +    rendered as a simple impostor (to not use this limit, set to zero +    or set RenderAvatarMaxComplexity to zero).</string>      <key>Persist</key>      <integer>1</integer>      <key>Type</key>      <string>F32</string>      <key>Value</key> -    <real>10.0E6</real> +    <real>1000.0</real>    </map>    <key>RenderAutoMuteLogging</key>    <map> diff --git a/indra/newview/app_settings/ultra_graphics.xml b/indra/newview/app_settings/ultra_graphics.xml index a333634fea..6b8956bf79 100755 --- a/indra/newview/app_settings/ultra_graphics.xml +++ b/indra/newview/app_settings/ultra_graphics.xml @@ -30,7 +30,7 @@          based on default graphics setting -->      <RenderAvatarMaxNonImpostors     value="0"/>      <RenderAvatarMaxComplexity              value="0"/> -    <RenderAutoMuteSurfaceAreaLimit  value="10.0E6"/> +    <RenderAutoMuteSurfaceAreaLimit  value="1500.0"/>  	<!--Default for now-->  	<RenderVolumeLODFactor value="2.0"/>  	<!--NO SHADERS--> diff --git a/indra/newview/featuretable.txt b/indra/newview/featuretable.txt index 3b58b943cf..222a992f03 100755 --- a/indra/newview/featuretable.txt +++ b/indra/newview/featuretable.txt @@ -34,8 +34,7 @@ RenderAvatarPhysicsLODFactor 1	1.0  RenderAvatarMaxNonImpostors 1   16  RenderAvatarMaxComplexity          1	80000  RenderAvatarVP				1	1 -RenderAutoMuteByteLimit     1	10000000 -RenderAutoMuteSurfaceAreaLimit     1	1.0E6 +RenderAutoMuteSurfaceAreaLimit     1	1000.0  RenderCubeMap				1	1  RenderDelayVBUpdate			1	0  RenderFarClip				1	256 diff --git a/indra/newview/featuretable_mac.txt b/indra/newview/featuretable_mac.txt index 024aab83dd..f46de50ef6 100755 --- a/indra/newview/featuretable_mac.txt +++ b/indra/newview/featuretable_mac.txt @@ -34,8 +34,7 @@ RenderAvatarPhysicsLODFactor 1	1.0  RenderAvatarMaxNonImpostors     1   12  RenderAvatarMaxComplexity              1	60000  RenderAvatarVP					1	1 -RenderAutoMuteByteLimit     1	10000000 -RenderAutoMuteSurfaceAreaLimit     1	1.0E6 +RenderAutoMuteSurfaceAreaLimit     1	1000.0  RenderCubeMap					1	1  RenderDelayVBUpdate				1	0  RenderFarClip					1	256 diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index c88f5d1fce..e5d440fa3e 100755 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -6522,10 +6522,14 @@ bool LLVOAvatar::isTooComplex() const  	{  		// Determine if visually muted or not  		static LLCachedControl<U32> max_render_cost(gSavedSettings, "RenderAvatarMaxComplexity", 0U); -		static LLCachedControl<F32> max_attachment_area(gSavedSettings, "RenderAutoMuteSurfaceAreaLimit", 10.0E6f); -		too_complex = ((max_render_cost > 0 && mVisualComplexity > max_render_cost) -			|| (max_attachment_area > 0.0f && mAttachmentSurfaceArea > max_attachment_area) -			); +		static LLCachedControl<F32> max_attachment_area(gSavedSettings, "RenderAutoMuteSurfaceAreaLimit", 1000.0f); +		// If the user has chosen unlimited max complexity, we also disregard max attachment area +        // so that unlimited will completely disable the overly complex impostor rendering +        // yes, this leaves them vulnerable to griefing objects... their choice +        too_complex = (   max_render_cost > 0 +                       && (   mVisualComplexity > max_render_cost +                           || (max_attachment_area > 0.0f && mAttachmentSurfaceArea > max_attachment_area) +                           ));  	}  	return too_complex; @@ -8282,10 +8286,10 @@ void LLVOAvatar::idleUpdateRenderComplexity()  		mText->addLine(info_line, info_color, info_style);  		// Attachment Surface Area -		static LLCachedControl<F32> max_attachment_area(gSavedSettings, "RenderAutoMuteSurfaceAreaLimit", 10.0E6f); +		static LLCachedControl<F32> max_attachment_area(gSavedSettings, "RenderAutoMuteSurfaceAreaLimit", 1000.0f);  		info_line = llformat("%.2f m^2", mAttachmentSurfaceArea); -		if (max_attachment_area != 0) // zero means don't care, so don't bother coloring based on this +		if (max_render_cost != 0 && max_attachment_area != 0) // zero means don't care, so don't bother coloring based on this  		{  			green_level = 1.f-llclamp((mAttachmentSurfaceArea-max_attachment_area)/max_attachment_area, 0.f, 1.f);  			red_level   = llmin(mAttachmentSurfaceArea/max_attachment_area, 1.f); | 
