diff options
Diffstat (limited to 'indra/newview')
| -rw-r--r-- | indra/newview/VIEWER_VERSION.txt | 2 | ||||
| -rwxr-xr-x | indra/newview/app_settings/shaders/class1/avatar/objectSkinV.glsl | 33 | ||||
| -rwxr-xr-x | indra/newview/app_settings/shaders/class1/deferred/alphaF.glsl | 1 | ||||
| -rwxr-xr-x | indra/newview/character/avatar_lad.xml | 181 | ||||
| -rwxr-xr-x | indra/newview/character/avatar_skeleton.xml | 9 | ||||
| -rwxr-xr-x | indra/newview/lldrawpoolavatar.cpp | 40 | ||||
| -rwxr-xr-x | indra/newview/llviewermenu.cpp | 4 | ||||
| -rwxr-xr-x | indra/newview/llvoavatar.cpp | 96 | ||||
| -rwxr-xr-x | indra/newview/llvoavatar.h | 1 | ||||
| -rwxr-xr-x | indra/newview/pipeline.h | 19 | ||||
| -rwxr-xr-x | indra/newview/skins/default/xui/en/menu_viewer.xml | 10 | 
11 files changed, 357 insertions, 39 deletions
| diff --git a/indra/newview/VIEWER_VERSION.txt b/indra/newview/VIEWER_VERSION.txt index 3609cf7707..7c69a55dbb 100644 --- a/indra/newview/VIEWER_VERSION.txt +++ b/indra/newview/VIEWER_VERSION.txt @@ -1 +1 @@ -3.6.13 +3.7.0 diff --git a/indra/newview/app_settings/shaders/class1/avatar/objectSkinV.glsl b/indra/newview/app_settings/shaders/class1/avatar/objectSkinV.glsl index 39632d0cef..972d10b325 100755 --- a/indra/newview/app_settings/shaders/class1/avatar/objectSkinV.glsl +++ b/indra/newview/app_settings/shaders/class1/avatar/objectSkinV.glsl @@ -26,7 +26,9 @@  ATTRIBUTE vec4 weight4;   -uniform mat4 matrixPalette[32]; +uniform mat3 matrixPalette[64]; +uniform vec3 translationPalette[64]; +  mat4 getObjectSkinnedTransform()  { @@ -35,17 +37,34 @@ mat4 getObjectSkinnedTransform()  	vec4 w = fract(weight4);  	vec4 index = floor(weight4); -		 index = min(index, vec4(31.0)); +		 index = min(index, vec4(63.0));  		 index = max(index, vec4( 0.0));  	float scale = 1.0/(w.x+w.y+w.z+w.w);  	w *= scale; -	mat4 mat = matrixPalette[int(index.x)]*w.x; -	mat += matrixPalette[int(index.y)]*w.y; -	mat += matrixPalette[int(index.z)]*w.z; -	mat += matrixPalette[int(index.w)]*w.w; +	int i1 = int(index.x); +	int i2 = int(index.y); +	int i3 = int(index.z); +	int i4 = int(index.w); -	return mat; +	mat3 mat  = matrixPalette[i1]*w.x; +		 mat += matrixPalette[i2]*w.y; +		 mat += matrixPalette[i3]*w.z; +		 mat += matrixPalette[i4]*w.w; + +	vec3 trans = translationPalette[i1]*w.x; +	trans += translationPalette[i2]*w.y; +	trans += translationPalette[i3]*w.z; +	trans += translationPalette[i4]*w.w; + +	mat4 ret; + +	ret[0] = vec4(mat[0], 0); +	ret[1] = vec4(mat[1], 0); +	ret[2] = vec4(mat[2], 0); +	ret[3] = vec4(trans, 1.0); +				 +	return ret;  } diff --git a/indra/newview/app_settings/shaders/class1/deferred/alphaF.glsl b/indra/newview/app_settings/shaders/class1/deferred/alphaF.glsl index e5f7366b70..2b5f001873 100755 --- a/indra/newview/app_settings/shaders/class1/deferred/alphaF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/alphaF.glsl @@ -534,6 +534,7 @@ void main()  #ifdef FOR_IMPOSTOR  	vec4 color;  	color.rgb = diff.rgb; +	color.a = 1.0;  #ifdef USE_VERTEX_COLOR  	float final_alpha = diff.a * vertex_color.a; diff --git a/indra/newview/character/avatar_lad.xml b/indra/newview/character/avatar_lad.xml index e5b385f4aa..5268498d56 100755 --- a/indra/newview/character/avatar_lad.xml +++ b/indra/newview/character/avatar_lad.xml @@ -3825,7 +3825,11 @@          <volume_morph            name="BELLY"            scale="0.075 0.04 0.03" -          pos="0.07 0 -0.07"/> +          pos="0.07 0 -0.02"/> +        <volume_morph +          name="PELVIS" +          scale="0.075 0.04 0.03" +          pos="0.07 0 -0.02"/>        </param_morph>      </param> @@ -3844,7 +3848,16 @@       camera_elevation=".1"       camera_distance="1"       camera_angle="15"> -      <param_morph /> +      <param_morph> +        <volume_morph +          name="LEFT_PEC" +          scale="0.0273 0.0273 0.0273" +          pos="0.038 0.024 -0.016"/> +        <volume_morph +          name="RIGHT_PEC" +          scale="0.0273 0.0273 0.0273" +          pos="0.038 -0.024 -0.016"/> +	  </param_morph>      </param>      <param @@ -3861,7 +3874,16 @@       value_max="1"       camera_elevation="0"       camera_distance=".28"> -      <param_morph /> +      <param_morph> +        <volume_morph +          name="LEFT_PEC" +          scale="-0.05 0.0 0.0" +          pos="-0.01 -0.01 -0.02"/> +        <volume_morph +          name="RIGHT_PEC" +          scale="-0.05 0.0 0.0" +          pos="-0.01 -0.01 -0.02"/> +	  </param_morph>      </param>      <param @@ -3878,7 +3900,16 @@       value_max="1"       camera_elevation="0"       camera_distance=".28"> -      <param_morph /> +      <param_morph> +        <volume_morph +          name="LEFT_PEC" +          scale="-0.051 0.0 0.0" +          pos="-0.02 -0.01 -0.03"/> +        <volume_morph +          name="RIGHT_PEC" +          scale="-0.051 0.0 0.0" +          pos="-0.02 -0.01 -0.03"/> +	  </param_morph>      </param>      <param @@ -3944,6 +3975,10 @@            scale="0.0 -0.01 0.0"            pos="0.0 0.0 0"/>          <volume_morph +          name="UPPER_BACK" +          scale="-0.01 -0.01 0.0" +          pos="0.0 0.0 0"/> +        <volume_morph            name="CHEST"            scale="-0.01 -0.01 0.0"            pos="0.01 0.0 0"/> @@ -3994,6 +4029,10 @@            scale="-0.01 -0.01 0.0"            pos="0.01 0.0 0"/>          <volume_morph +          name="UPPER_BACK" +          scale="-0.01 -0.01 0.0" +          pos="0.0 0.0 0"/> +        <volume_morph            name="CHEST"            scale="-0.02 -0.02 0.0"            pos="0.01 0.0 0"/> @@ -4042,6 +4081,32 @@            scale="0.02 0.03 0.03"            pos="0 0 -0.03"/>          <volume_morph +          name="PELVIS" +          scale="0.02 0.03 0.03" +          pos="0 0 -0.03"/> +        <volume_morph +          name="UPPER_BACK" +          scale="0.01 0.03 0.0" +          pos="-0.03 0 0"/> +        <volume_morph +          name="LOWER_BACK" +          scale="0.04 0.06 0.0" +          pos="-0.06 0 0"/> +        <volume_morph +          name="LEFT_HANDLE" +          pos="0.0 0.08 0.0"/> +        <volume_morph +          name="RIGHT_HANDLE" +          pos="0.0 -0.08 0.0"/> +        <volume_morph +          name="LEFT_PEC" +          scale="0.0367 0.0367 0.016" +          pos="0.00 -0.005 -0.013"/> +        <volume_morph +          name="RIGHT_PEC" +          scale="0.0367 0.0367 0.016" +          pos="0.00 0.005 -0.013"/> +        <volume_morph            name="BELLY"            scale="0.09 0.08 0.07"            pos="0 0 -0.05"/> @@ -4093,7 +4158,16 @@       value_max="2"       camera_elevation=".3"       camera_distance=".8"> -      <param_morph /> +      <param_morph> +        <volume_morph +          name="LEFT_PEC" +          scale="0.0 0.0 0.0" +          pos="0.004 0.0 -0.01"/> +        <volume_morph +          name="RIGHT_PEC" +          scale="0.0 0.0 0.0" +          pos="0.004 0.0 -0.01"/> +      </param_morph>      </param>      <param @@ -4143,6 +4217,15 @@          <volume_morph            name="BELLY"            scale="0.0 0.02 0.0"/> +        <volume_morph +          name="LOWER_BACK" +          scale="0.0 0.02 0.0"/> +        <volume_morph +          name="LEFT_HANDLE" +          pos="0.0 0.025 0.0"/> +        <volume_morph +          name="RIGHT_HANDLE" +          pos="0.0 -0.025 0.0"/>        </param_morph>      </param> @@ -4162,7 +4245,16 @@       value_max="1.3"       camera_elevation=".3"       camera_distance=".8"> -      <param_morph /> +      <param_morph> +        <volume_morph +          name="LEFT_PEC" +          scale="0.0 0.0 0.0" +          pos="0.0 -0.026 0.0"/> +        <volume_morph +          name="RIGHT_PEC" +          scale="0.0 0.0 0.0" +          pos="0.0 0.026 0.0"/> +      </param_morph>      </param>      <param @@ -4177,11 +4269,20 @@       label_min="Big Pectorals"       label_max="Sunken Chest"       value_default="0" -     value_min="-.5" +     value_min="-1.0"       value_max="1.1"       camera_elevation=".3"       camera_distance="1.2"> -      <param_morph /> +      <param_morph> +        <volume_morph +          name="LEFT_PEC" +          scale="0.0 0.0 0.0" +          pos="-0.03 -0.024 -0.01"/> +        <volume_morph +          name="RIGHT_PEC" +          scale="0.0 0.0 0.0" +          pos="-0.03 0.024 -0.01"/> +      </param_morph>      </param>      <!-- ############# #  @@ -4206,6 +4307,14 @@            scale="0.03 0.03 0.0"            pos="-0.03 0 0.02"/>          <volume_morph +          name="LEFT_PEC" +          scale="0.0 0.0 0.0" +          pos="0.008 -0.03 0.01"/> +        <volume_morph +          name="RIGHT_PEC" +          scale="0.0 0.0 0.0" +          pos="0.008 0.03 0.01"/> +        <volume_morph            name="L_CLAVICLE"            scale="0.02 0.0 0.01"            pos="-0.02 0 0"/> @@ -4376,7 +4485,16 @@       value_default="0"       value_min="-3"       value_max="3"> -      <param_morph /> +      <param_morph> +        <volume_morph +          name="LEFT_PEC" +          scale="0.0 0.0 0.0" +          pos="0.0 0.0 -0.01"/> +        <volume_morph +          name="RIGHT_PEC" +          scale="0.0 0.0 0.0" +          pos="0.0 0.0 -0.01"/> +	  </param_morph>      </param>      <param @@ -4389,7 +4507,16 @@       value_default="0"       value_min="-1.25"       value_max="1.25"> -      <param_morph /> +      <param_morph> +        <volume_morph +          name="LEFT_PEC" +          scale="0.0 0.0 0.0" +          pos="0.0 -0.026 0.0"/> +        <volume_morph +          name="RIGHT_PEC" +          scale="0.0 0.0 0.0" +          pos="0.0 0.026 -0.0"/> +	  </param_morph>      </param>      <param @@ -4402,7 +4529,12 @@       value_default="0"       value_min="-1"       value_max="1"> -      <param_morph /> +      <param_morph> +        <volume_morph +          name="BELLY" +          scale="0.0 0.0 0.0" +          pos="0.0 0.0 0.05"/> +	  </param_morph>      </param>      <param @@ -4415,7 +4547,16 @@       value_default="0"       value_min="-2"       value_max="2"> -      <param_morph /> +      <param_morph> +        <volume_morph +          name="LEFT_PEC" +          scale="0.0 0.0 0.0" +          pos="0.0 0.03 0.0"/> +        <volume_morph +          name="RIGHT_PEC" +          scale="0.0 0.0 0.0" +          pos="0.0 0.03 0.0"/> +	  </param_morph>      </param>      <!-- @@ -4518,6 +4659,10 @@            name="PELVIS"            scale="-0.01 0.0 0.0"            pos="0.01 0 0.0"/> +        <volume_morph +          name="BUTT" +          scale="0.0 0.0886 0.0" +          pos="0.03 0 0.0"/>        </param_morph>      </param> @@ -4949,7 +5094,11 @@       value_default="0"       value_min="-1"       value_max="1"> -      <param_morph /> +      <param_morph> +        <volume_morph +          name="BUTT" +          pos="0.0 0.0 0.05"/> +	  </param_morph>      </param>      <param @@ -4962,7 +5111,11 @@       value_default="0"       value_min="-1"       value_max="1"> -      <param_morph /> +      <param_morph> +        <volume_morph +          name="BUTT" +          pos="0.0 0.05 0.0"/> +	  </param_morph>      </param>      <!-- diff --git a/indra/newview/character/avatar_skeleton.xml b/indra/newview/character/avatar_skeleton.xml index 5e73804f2d..6b07bbc1d3 100755 --- a/indra/newview/character/avatar_skeleton.xml +++ b/indra/newview/character/avatar_skeleton.xml @@ -1,11 +1,18 @@  <?xml version="1.0" encoding="US-ASCII" standalone="yes"?> -<linden_skeleton version="1.0" num_bones="46" num_collision_volumes="19"> +<linden_skeleton version="1.0" num_bones="53" num_collision_volumes="26">  <bone name="mPelvis" pos="0.000 0.000 1.067" rot="0.000000 0.000000 0.000000" scale="1.000 1.000 1.000" pivot="0.000000 0.000000 1.067015">  	<collision_volume name="PELVIS" pos = "-0.01 0 -0.02" rot="0.000000 8.00000 0.000000" scale="0.12 0.16 0.17"/> +	<collision_volume name="BUTT" pos = "-0.06 0 -0.1" rot="0.000000 0.00000 0.000000" scale="0.1 0.1 0.1"/>  	<bone name="mTorso" pos="0.000 0.000 0.084" rot="0.000000 0.000000 0.000000" scale="1.000 1.000 1.000" pivot="0.000000 0.000000 0.084073">  		<collision_volume name="BELLY" pos = "0.028 0 0.04" rot="0.000000 8.00000 0.000000" scale="0.09 0.13 0.15"/> +		<collision_volume name="LOWER_BACK" pos = "0.0 0.0 0.023" rot="0.000000 0.00000 0.000000" scale="0.09 0.13 0.15"/> +		<collision_volume name="LEFT_HANDLE" pos = "0.0 0.10 0.058" rot="0.000000 0.00000 0.000000" scale="0.05 0.05 0.05"/> +		<collision_volume name="RIGHT_HANDLE" pos = "0.0 -0.10 0.058" rot="0.000000 0.00000 0.000000" scale="0.05 0.05 0.05"/>  		<bone name="mChest" pos="-0.015 0.000 0.205" rot="0.000000 0.000000 0.000000" scale="1.000 1.000 1.000" pivot="-0.015368 0.000000 0.204877">  			<collision_volume name="CHEST" pos = "0.028 0 0.07" rot="0.000000 -10.00000 0.000000" scale="0.11 0.15 0.2"/> +			<collision_volume name="UPPER_BACK" pos = "0.0 0.0 0.017" rot="0.000000 0.00000 0.000000" scale="0.09 0.13 0.15"/> +			<collision_volume name="LEFT_PEC" pos = "0.119 0.082 0.042" rot="0.000000 4.29000 0.000000" scale="0.05 0.05 0.05"/> +			<collision_volume name="RIGHT_PEC" pos = "0.119 -0.082 0.042" rot="0.000000 4.29000 0.000000" scale="0.05 0.05 0.05"/>  			<bone name="mNeck" pos="-0.010 0.000 0.251" rot="0.000000 0.000000 0.000000" scale="1.000 1.000 1.000" pivot="-0.009507 0.000000 0.251108">  				<collision_volume name="NECK" pos = "0.0 0 0.02" rot="0.000000 0.000000 0.000000" scale="0.05 0.06 0.08"/>  				<bone name="mHead" pos="0.000 -0.000 0.076" rot="0.000000 0.000000 0.000000" scale="1.000 1.000 1.000" pivot="0.000000 -0.000000 0.075630"> diff --git a/indra/newview/lldrawpoolavatar.cpp b/indra/newview/lldrawpoolavatar.cpp index f622d5a63a..e77ed27fa2 100755 --- a/indra/newview/lldrawpoolavatar.cpp +++ b/indra/newview/lldrawpoolavatar.cpp @@ -1708,9 +1708,9 @@ void LLDrawPoolAvatar::renderRigged(LLVOAvatar* avatar, U32 type, bool glow)  		{  			if (sShaderLevel > 0)  			{ //upload matrix palette to shader -				LLMatrix4 mat[32]; +				LLMatrix4 mat[64]; -				U32 count = llmin((U32) skin->mJointNames.size(), (U32) 32); +				U32 count = llmin((U32) skin->mJointNames.size(), (U32) 64);  				for (U32 i = 0; i < count; ++i)  				{ @@ -1724,10 +1724,42 @@ void LLDrawPoolAvatar::renderRigged(LLVOAvatar* avatar, U32 type, bool glow)  				stop_glerror(); -				LLDrawPoolAvatar::sVertexProgram->uniformMatrix4fv(LLViewerShaderMgr::AVATAR_MATRIX,  +				F32 mp[64*9]; + +				F32 transp[64*3]; + +				for (U32 i = 0; i < count; ++i) +				{ +					F32* m = (F32*) mat[i].mMatrix; + +					U32 idx = i*9; + +					mp[idx+0] = m[0]; +					mp[idx+1] = m[1]; +					mp[idx+2] = m[2]; + +					mp[idx+3] = m[4]; +					mp[idx+4] = m[5]; +					mp[idx+5] = m[6]; + +					mp[idx+6] = m[8]; +					mp[idx+7] = m[9]; +					mp[idx+8] = m[10]; + +					idx = i*3; + +					transp[idx+0] = m[12]; +					transp[idx+1] = m[13]; +					transp[idx+2] = m[14]; +				} + +				LLDrawPoolAvatar::sVertexProgram->uniformMatrix3fv(LLViewerShaderMgr::AVATAR_MATRIX,   					count,  					FALSE, -					(GLfloat*) mat[0].mMatrix); +					(GLfloat*) mp); + +				LLDrawPoolAvatar::sVertexProgram->uniform3fv(LLShaderMgr::AVATAR_TRANSLATION, count, transp); +  				stop_glerror();  			} diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index ac2940fcfc..fb07ab8fbe 100755 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -1025,6 +1025,10 @@ U32 info_display_from_string(std::string info_display)  	{  		return LLPipeline::RENDER_DEBUG_AVATAR_VOLUME;  	} +	else if ("joints" == info_display) +	{ +		return LLPipeline::RENDER_DEBUG_AVATAR_JOINTS; +	}  	else if ("raycast" == info_display)  	{  		return LLPipeline::RENDER_DEBUG_RAYCAST; diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index c3c1edb0a3..1e7d1644b2 100755 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -1392,9 +1392,11 @@ void LLVOAvatar::getSpatialExtents(LLVector4a& newMin, LLVector4a& newMax)  //-----------------------------------------------------------------------------  void LLVOAvatar::renderCollisionVolumes()  { +	std::ostringstream ostr;  	for (S32 i = 0; i < mNumCollisionVolumes; i++)  	{  		mCollisionVolumes[i].renderCollision(); +		ostr << mCollisionVolumes[i].getName() << ", ";  	}  	if (mNameText.notNull()) @@ -1403,6 +1405,96 @@ void LLVOAvatar::renderCollisionVolumes()  		mNameText->lineSegmentIntersect(unused, unused, unused, TRUE);  	} + +	mDebugText.clear(); +	addDebugText(ostr.str()); +} + +void LLVOAvatar::renderJoints() +{ +	std::ostringstream ostr; +	std::ostringstream nullstr; + +	for (joint_map_t::iterator iter = mJointMap.begin(); iter != mJointMap.end(); ++iter) +	{ +		LLJoint* jointp = iter->second; +		if (!jointp) +		{ +			nullstr << iter->first << " is NULL" << std::endl; +			continue; +		} + +		ostr << jointp->getName() << ", "; + +		jointp->updateWorldMatrix(); +	 +		gGL.pushMatrix(); +		gGL.multMatrix( &jointp->getXform()->getWorldMatrix().mMatrix[0][0] ); + +		gGL.diffuseColor3f( 1.f, 0.f, 1.f ); +	 +		gGL.begin(LLRender::LINES); +	 +		LLVector3 v[] =  +		{ +			LLVector3(1,0,0), +			LLVector3(-1,0,0), +			LLVector3(0,1,0), +			LLVector3(0,-1,0), + +			LLVector3(0,0,-1), +			LLVector3(0,0,1), +		}; + +		//sides +		gGL.vertex3fv(v[0].mV);  +		gGL.vertex3fv(v[2].mV); + +		gGL.vertex3fv(v[0].mV);  +		gGL.vertex3fv(v[3].mV); + +		gGL.vertex3fv(v[1].mV);  +		gGL.vertex3fv(v[2].mV); + +		gGL.vertex3fv(v[1].mV);  +		gGL.vertex3fv(v[3].mV); + + +		//top +		gGL.vertex3fv(v[0].mV);  +		gGL.vertex3fv(v[4].mV); + +		gGL.vertex3fv(v[1].mV);  +		gGL.vertex3fv(v[4].mV); + +		gGL.vertex3fv(v[2].mV);  +		gGL.vertex3fv(v[4].mV); + +		gGL.vertex3fv(v[3].mV);  +		gGL.vertex3fv(v[4].mV); + + +		//bottom +		gGL.vertex3fv(v[0].mV);  +		gGL.vertex3fv(v[5].mV); + +		gGL.vertex3fv(v[1].mV);  +		gGL.vertex3fv(v[5].mV); + +		gGL.vertex3fv(v[2].mV);  +		gGL.vertex3fv(v[5].mV); + +		gGL.vertex3fv(v[3].mV);  +		gGL.vertex3fv(v[5].mV); + +		gGL.end(); + +		gGL.popMatrix(); +	} + +	mDebugText.clear(); +	addDebugText(ostr.str()); +	addDebugText(nullstr.str());  }  BOOL LLVOAvatar::lineSegmentIntersect(const LLVector4a& start, const LLVector4a& end, @@ -3077,9 +3169,6 @@ void	LLVOAvatar::forceUpdateVisualMuteSettings()  //------------------------------------------------------------------------  BOOL LLVOAvatar::updateCharacter(LLAgent &agent)  { -	// clear debug text -	mDebugText.clear(); -  	if (gSavedSettings.getBOOL("DebugAvatarAppearanceMessage"))  	{  		S32 central_bake_version = -1; @@ -3588,6 +3677,7 @@ BOOL LLVOAvatar::updateCharacter(LLAgent &agent)  	{  		setDebugText(mDebugText);  	} +	mDebugText.clear();  	//mesh vertices need to be reskinned  	mNeedsSkin = TRUE; diff --git a/indra/newview/llvoavatar.h b/indra/newview/llvoavatar.h index 9d45a74ecc..0e4121f1c4 100755 --- a/indra/newview/llvoavatar.h +++ b/indra/newview/llvoavatar.h @@ -406,6 +406,7 @@ public:  	F32			getLastSkinTime() { return mLastSkinTime; }  	U32 		renderTransparent(BOOL first_pass);  	void 		renderCollisionVolumes(); +	void		renderJoints();  	static void	deleteCachedImages(bool clearAll=true);  	static void	destroyGL();  	static void	restoreGL(); diff --git a/indra/newview/pipeline.h b/indra/newview/pipeline.h index 9aeb2d4978..1c7154d413 100755 --- a/indra/newview/pipeline.h +++ b/indra/newview/pipeline.h @@ -535,15 +535,16 @@ public:  		RENDER_DEBUG_SHADOW_FRUSTA		= 0x00040000,  		RENDER_DEBUG_SCULPTED           = 0x00080000,  		RENDER_DEBUG_AVATAR_VOLUME      = 0x00100000, -		RENDER_DEBUG_BUILD_QUEUE		= 0x00200000, -		RENDER_DEBUG_AGENT_TARGET       = 0x00400000, -		RENDER_DEBUG_UPDATE_TYPE		= 0x00800000, -		RENDER_DEBUG_PHYSICS_SHAPES     = 0x01000000, -		RENDER_DEBUG_NORMALS	        = 0x02000000, -		RENDER_DEBUG_LOD_INFO	        = 0x04000000, -		RENDER_DEBUG_RENDER_COMPLEXITY  = 0x08000000, -		RENDER_DEBUG_ATTACHMENT_BYTES	= 0x10000000, -		RENDER_DEBUG_TEXEL_DENSITY		= 0x20000000 +		RENDER_DEBUG_AVATAR_JOINTS      = 0x00200000, +		RENDER_DEBUG_BUILD_QUEUE		= 0x00400000, +		RENDER_DEBUG_AGENT_TARGET       = 0x00800000, +		RENDER_DEBUG_UPDATE_TYPE		= 0x01000000, +		RENDER_DEBUG_PHYSICS_SHAPES     = 0x02000000, +		RENDER_DEBUG_NORMALS	        = 0x04000000, +		RENDER_DEBUG_LOD_INFO	        = 0x08000000, +		RENDER_DEBUG_RENDER_COMPLEXITY  = 0x10000000, +		RENDER_DEBUG_ATTACHMENT_BYTES	= 0x20000000, +		RENDER_DEBUG_TEXEL_DENSITY		= 0x40000000  	};  public: diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index e5e2bd4c11..64de010eb5 100755 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -2564,6 +2564,16 @@             parameter="collision skeleton" />          </menu_item_check>          <menu_item_check +         label="Joints" +         name="Joints"> +          <menu_item_check.on_check +           function="Advanced.CheckInfoDisplay" +           parameter="joints" /> +          <menu_item_check.on_click +           function="Advanced.ToggleInfoDisplay" +           parameter="joints" /> +        </menu_item_check> +        <menu_item_check           label="Raycast"           name="Raycast">            <menu_item_check.on_check | 
