diff options
| author | AndreyL ProductEngine <alihatskiy@productengine.com> | 2016-11-08 04:45:47 +0200 | 
|---|---|---|
| committer | AndreyL ProductEngine <alihatskiy@productengine.com> | 2016-11-08 04:45:47 +0200 | 
| commit | c24b95e483549870a69062510f0abc9eded97a36 (patch) | |
| tree | 894d7764199314deaf3bba2a642481f1527a57af /indra/newview | |
| parent | 0e6e04317bb896331b984e624c48e702986f2def (diff) | |
Backed out changeset: 2a56972b1571
Reverting MAINT-6259
Diffstat (limited to 'indra/newview')
| -rw-r--r-- | indra/newview/app_settings/settings.xml | 11 | ||||
| -rw-r--r-- | indra/newview/llappviewer.cpp | 1 | ||||
| -rw-r--r-- | indra/newview/llviewercontrol.cpp | 7 | ||||
| -rw-r--r-- | indra/newview/llvovolume.cpp | 26 | ||||
| -rw-r--r-- | indra/newview/llvovolume.h | 3 | 
5 files changed, 10 insertions, 38 deletions
| diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 28c632b498..5cf2e4555d 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -10273,17 +10273,6 @@        <key>Value</key>        <real>1.0</real>      </map> -    <key>RenderRiggedFactorMultiplier</key> -    <map> -      <key>Comment</key> -      <string>Affects level of detail for worn rigged meshes</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>F32</string> -      <key>Value</key> -      <real>7.5</real> -    </map>      <key>RenderWater</key>      <map>        <key>Comment</key> diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index b0829a3da1..9db03a7438 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -592,7 +592,6 @@ static void settings_to_globals()  	LLImageGL::sGlobalUseAnisotropic	= gSavedSettings.getBOOL("RenderAnisotropic");  	LLImageGL::sCompressTextures		= gSavedSettings.getBOOL("RenderCompressTextures");  	LLVOVolume::sLODFactor				= gSavedSettings.getF32("RenderVolumeLODFactor"); -	LLVOVolume::sRiggedFactorMultiplier	= gSavedSettings.getF32("RenderRiggedFactorMultiplier");  	LLVOVolume::sDistanceFactor			= 1.f-LLVOVolume::sLODFactor * 0.1f;  	LLVolumeImplFlexible::sUpdateFactor = gSavedSettings.getF32("RenderFlexTimeFactor");  	LLVOTree::sTreeFactor				= gSavedSettings.getF32("RenderTreeLODFactor"); diff --git a/indra/newview/llviewercontrol.cpp b/indra/newview/llviewercontrol.cpp index 5e74e9f019..16f40fb747 100644 --- a/indra/newview/llviewercontrol.cpp +++ b/indra/newview/llviewercontrol.cpp @@ -207,12 +207,6 @@ static bool handleVolumeLODChanged(const LLSD& newvalue)  	return true;  } -static bool handleRiggedLODChanged(const LLSD& newvalue) -{ -    LLVOVolume::sRiggedFactorMultiplier = (F32)newvalue.asReal(); -    return true; -} -  static bool handleAvatarLODChanged(const LLSD& newvalue)  {  	LLVOAvatar::sLODFactor = (F32) newvalue.asReal(); @@ -625,7 +619,6 @@ void settings_setup_listeners()  	gSavedSettings.getControl("WindLightUseAtmosShaders")->getSignal()->connect(boost::bind(&handleSetShaderChanged, _2));  	gSavedSettings.getControl("RenderGammaFull")->getSignal()->connect(boost::bind(&handleSetShaderChanged, _2));  	gSavedSettings.getControl("RenderVolumeLODFactor")->getSignal()->connect(boost::bind(&handleVolumeLODChanged, _2)); -	gSavedSettings.getControl("RenderRiggedFactorMultiplier")->getSignal()->connect(boost::bind(&handleRiggedLODChanged, _2));  	gSavedSettings.getControl("RenderAvatarLODFactor")->getSignal()->connect(boost::bind(&handleAvatarLODChanged, _2));  	gSavedSettings.getControl("RenderAvatarPhysicsLODFactor")->getSignal()->connect(boost::bind(&handleAvatarPhysicsLODChanged, _2));  	gSavedSettings.getControl("RenderTerrainLODFactor")->getSignal()->connect(boost::bind(&handleTerrainLODChanged, _2)); diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index 55739915a3..da1587d494 100644 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -86,7 +86,6 @@ BOOL gAnimateTextures = TRUE;  //extern BOOL gHideSelectedObjects;  F32 LLVOVolume::sLODFactor = 1.f; -F32 LLVOVolume::sRiggedFactorMultiplier = 6.f;  F32	LLVOVolume::sLODSlopDistanceFactor = 0.5f; //Changing this to zero, effectively disables the LOD transition slop   F32 LLVOVolume::sDistanceFactor = 1.0f;  S32 LLVOVolume::sNumLODChanges = 0; @@ -1214,18 +1213,18 @@ void LLVOVolume::sculpt()  	}  } -S32	LLVOVolume::computeLODDetail(F32 distance, F32 radius, F32 lod_factor) +S32	LLVOVolume::computeLODDetail(F32 distance, F32 radius)  {  	S32	cur_detail;  	if (LLPipeline::sDynamicLOD)  	{  		// We've got LOD in the profile, and in the twist.  Use radius. -		F32 tan_angle = (lod_factor*radius) / distance; +		F32 tan_angle = (LLVOVolume::sLODFactor*radius)/distance;  		cur_detail = LLVolumeLODGroup::getDetailFromTan(ll_round(tan_angle, 0.01f));  	}  	else  	{ -		cur_detail = llclamp((S32)(sqrtf(radius)*lod_factor*4.f), 0, 3); +		cur_detail = llclamp((S32) (sqrtf(radius)*LLVOVolume::sLODFactor*4.f), 0, 3);		  	}  	return cur_detail;  } @@ -1241,7 +1240,6 @@ BOOL LLVOVolume::calcLOD()  	F32 radius;  	F32 distance; -	F32 lod_factor = LLVOVolume::sLODFactor;  	if (mDrawable->isState(LLDrawable::RIGGED))  	{ @@ -1253,27 +1251,22 @@ BOOL LLVOVolume::calcLOD()  			return FALSE;  		} -		// Note: when changing, take note that a lot of rigged meshes have only one LOD. -		lod_factor *= LLVOVolume::sRiggedFactorMultiplier;  		distance = avatar->mDrawable->mDistanceWRTCamera; -		F32 avatar_radius = avatar->getBinRadius(); -		F32 object_radius = getVolume() ? getVolume()->mLODScaleBias.scaledVec(getScale()).length() : getScale().length(); -		radius = object_radius * LLVOVolume::sRiggedFactorMultiplier; -		radius = llmin(radius, avatar_radius); +		radius = avatar->getBinRadius();  	}  	else  	{  		distance = mDrawable->mDistanceWRTCamera;  		radius = getVolume() ? getVolume()->mLODScaleBias.scaledVec(getScale()).length() : getScale().length();  	} - +	  	//hold onto unmodified distance for debugging  	//F32 debug_distance = distance; - +	  	distance *= sDistanceFactor; -	F32 rampDist = lod_factor * 2; - +	F32 rampDist = LLVOVolume::sLODFactor * 2; +	  	if (distance < rampDist)  	{  		// Boost LOD when you're REALLY close @@ -1286,8 +1279,7 @@ BOOL LLVOVolume::calcLOD()  	distance *= F_PI/3.f;  	cur_detail = computeLODDetail(ll_round(distance, 0.01f),  -									ll_round(radius, 0.01f), -									lod_factor); +									ll_round(radius, 0.01f));  	if (gPipeline.hasRenderDebugMask(LLPipeline::RENDER_DEBUG_LOD_INFO) && diff --git a/indra/newview/llvovolume.h b/indra/newview/llvovolume.h index ca9917069b..a331908320 100644 --- a/indra/newview/llvovolume.h +++ b/indra/newview/llvovolume.h @@ -327,7 +327,7 @@ public:  	void clearRiggedVolume();  protected: -	S32	computeLODDetail(F32	distance, F32 radius, F32 lod_factor); +	S32	computeLODDetail(F32	distance, F32 radius);  	BOOL calcLOD();  	LLFace* addFace(S32 face_index);  	void updateTEData(); @@ -379,7 +379,6 @@ private:  public:  	static F32 sLODSlopDistanceFactor;// Changing this to zero, effectively disables the LOD transition slop  	static F32 sLODFactor;				// LOD scale factor -	static F32 sRiggedFactorMultiplier;	// Worn rigged LOD scale factor multiplier  	static F32 sDistanceFactor;			// LOD distance factor  	static LLPointer<LLObjectMediaDataClient> sObjectMediaClient; | 
