diff options
| -rw-r--r-- | autobuild.xml | 12 | ||||
| -rw-r--r-- | indra/llrender/llrendernavprim.cpp | 193 | ||||
| -rw-r--r-- | indra/newview/pipeline.cpp | 28 | 
3 files changed, 118 insertions, 115 deletions
| diff --git a/autobuild.xml b/autobuild.xml index a2f341f514..9baed813ef 100644 --- a/autobuild.xml +++ b/autobuild.xml @@ -1110,9 +1110,9 @@              <key>archive</key>              <map>                <key>hash</key> -              <string>21c7d216ad56664b33669d33c9d3e318</string> +              <string>6f0127b409cda1635cf7d52f5ec52365</string>                <key>url</key> -              <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/stinson_llpathinglibrary/rev/252817/arch/Darwin/installer/llphysicsextensions-0.1-darwin-20120403.tar.bz2</string> +              <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/stinson_llpathinglibrary_xray/rev/252896/arch/Darwin/installer/llphysicsextensions-0.1-darwin-20120403.tar.bz2</string>              </map>              <key>name</key>              <string>darwin</string> @@ -1122,9 +1122,9 @@              <key>archive</key>              <map>                <key>hash</key> -              <string>430357db21d689ef8b04f3b507d7e04d</string> +              <string>8e6525e0b3b0cf6fdea14dba19a1465a</string>                <key>url</key> -              <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/stinson_llpathinglibrary/rev/252817/arch/Linux/installer/llphysicsextensions-0.1-linux-20120403.tar.bz2</string> +              <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/stinson_llpathinglibrary_xray/rev/252896/arch/Linux/installer/llphysicsextensions-0.1-linux-20120403.tar.bz2</string>              </map>              <key>name</key>              <string>linux</string> @@ -1134,9 +1134,9 @@              <key>archive</key>              <map>                <key>hash</key> -              <string>f961e16bd7b20629099b33a8aa437e98</string> +              <string>e26184acc9ccaf359d26e356f768350e</string>                <key>url</key> -              <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/stinson_llpathinglibrary/rev/252817/arch/CYGWIN/installer/llphysicsextensions-0.1-windows-20120403.tar.bz2</string> +              <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/stinson_llpathinglibrary_xray/rev/252896/arch/CYGWIN/installer/llphysicsextensions-0.1-windows-20120403.tar.bz2</string>              </map>              <key>name</key>              <string>windows</string> diff --git a/indra/llrender/llrendernavprim.cpp b/indra/llrender/llrendernavprim.cpp index 7dd042271a..56b176d39c 100644 --- a/indra/llrender/llrendernavprim.cpp +++ b/indra/llrender/llrendernavprim.cpp @@ -1,97 +1,96 @@ -/** 
 - * @file LLRenderNavPrim.cpp
 - * @brief Renderable primitives used by the pathing library
 - *
 - * $LicenseInfo:firstyear=2001&license=viewerlgpl$
 - * Second Life Viewer Source Code
 - * Copyright (C) 2010, Linden Research, Inc.
 - * 
 - * This library is free software; you can redistribute it and/or
 - * modify it under the terms of the GNU Lesser General Public
 - * License as published by the Free Software Foundation;
 - * version 2.1 of the License only.
 - * 
 - * This library is distributed in the hope that it will be useful,
 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 - * Lesser General Public License for more details.
 - * 
 - * You should have received a copy of the GNU Lesser General Public
 - * License along with this library; if not, write to the Free Software
 - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 - * 
 - * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA
 - * $/LicenseInfo$
 - */
 -
 -
 -#include "linden_common.h"
 -#include "llrendernavprim.h"
 -#include "llerror.h"
 -#include "llglheaders.h"
 -#include "llvertexbuffer.h"
 -#include "llglslshader.h"
 -
 -//=============================================================================
 -LLRenderNavPrim gRenderNav;
 -//=============================================================================
 -void LLRenderNavPrim::renderLLSegment( const LLVector3& start, const LLVector3& end, const LLColor4U& color ) const
 -{	
 -	LLColor4 colorA( color );	
 -	gGL.color3fv( colorA.mV );
 -
 -	gGL.begin(LLRender::LINES);
 -	{
 -		gGL.vertex3fv( start.mV );
 -		gGL.vertex3fv( end.mV );
 -	}
 -	gGL.end();	
 -}
 -//=============================================================================
 -void LLRenderNavPrim::renderTri( const LLVector3& a, const LLVector3& b, const LLVector3& c, int color ) const
 -{
 -	LLColor4 colorA( color );	
 -	colorA*=1.25f;
 -	gGL.color4fv( colorA.mV );
 -	gGL.begin(LLRender::TRIANGLES);
 -	{
 -		gGL.vertex3fv( a.mV );
 -		gGL.vertex3fv( b.mV );
 -		gGL.vertex3fv( c.mV );
 -	}
 -	gGL.end();		
 -}
 -//=============================================================================
 -void LLRenderNavPrim::renderLLTri( const LLVector3& a, const LLVector3& b, const LLVector3& c, const LLColor4U& color, const LLVector3& n ) const
 -{
 -	LLColor4 cV(color);
 -	gGL.color4fv( cV.mV );
 -	gGL.begin(LLRender::TRIANGLES);
 -	{
 -		glNormal3f( n.mV[0],n.mV[1],n.mV[2] );
 -		gGL.vertex3fv( a.mV );
 -		gGL.vertex3fv( b.mV );
 -		gGL.vertex3fv( c.mV );
 -	}
 -	gGL.end();		
 -}
 -//=============================================================================
 -void LLRenderNavPrim::renderNavMeshVB( LLVertexBuffer* pVBO, int vertCnt )
 -{	
 -	pVBO->setBuffer( LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_COLOR | LLVertexBuffer::MAP_NORMAL );
 -	pVBO->drawArrays( LLRender::TRIANGLES, 0, vertCnt );	
 -}
 -//=============================================================================
 -void LLRenderNavPrim::renderStar( const LLVector3& center, const float scale, const LLColor4U& color ) const
 -{	
 -	for (int k=0; k<3; k++)
 -	{
 -		LLVector3 star, pt1, pt2;
 -		star = LLVector3( 0.0f,0.0f,0.0f);
 -		star[k] = 0.5f;
 -		pt1 =  center + star;
 -		pt2 =  center - star;	
 -		renderLLSegment( pt1, pt2, color );
 -	}
 -}
 -//=============================================================================
 +/**  + * @file LLRenderNavPrim.cpp + * @brief Renderable primitives used by the pathing library + * + * $LicenseInfo:firstyear=2001&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2010, Linden Research, Inc. + *  + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only. + *  + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * Lesser General Public License for more details. + *  + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA + *  + * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA + * $/LicenseInfo$ + */ + + +#include "linden_common.h" +#include "llrendernavprim.h" +#include "llerror.h" +#include "llglheaders.h" +#include "llvertexbuffer.h" +#include "llglslshader.h" + +//============================================================================= +LLRenderNavPrim gRenderNav; +//============================================================================= +void LLRenderNavPrim::renderLLSegment( const LLVector3& start, const LLVector3& end, const LLColor4U& color ) const +{	 +	LLColor4 colorA( color );	 +	gGL.color3fv( colorA.mV ); + +	gGL.begin(LLRender::LINES); +	{ +		gGL.vertex3fv( start.mV ); +		gGL.vertex3fv( end.mV ); +	} +	gGL.end();	 +} +//============================================================================= +void LLRenderNavPrim::renderTri( const LLVector3& a, const LLVector3& b, const LLVector3& c, int color ) const +{ +	LLColor4 colorA( color );	 +	colorA*=1.25f; +	gGL.color4fv( colorA.mV ); +	gGL.begin(LLRender::TRIANGLES); +	{ +		gGL.vertex3fv( a.mV ); +		gGL.vertex3fv( b.mV ); +		gGL.vertex3fv( c.mV ); +	} +	gGL.end();		 +} +//============================================================================= +void LLRenderNavPrim::renderLLTri( const LLVector3& a, const LLVector3& b, const LLVector3& c, const LLColor4U& color, const LLVector3& n ) const +{ +	LLColor4 cV(color); +	gGL.color4fv( cV.mV ); +	gGL.begin(LLRender::TRIANGLES); +	{ +		gGL.vertex3fv( a.mV ); +		gGL.vertex3fv( b.mV ); +		gGL.vertex3fv( c.mV ); +	} +	gGL.end();		 +} +//============================================================================= +void LLRenderNavPrim::renderNavMeshVB( LLVertexBuffer* pVBO, int vertCnt ) +{	 +	pVBO->setBuffer( LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_COLOR | LLVertexBuffer::MAP_NORMAL ); +	pVBO->drawArrays( LLRender::TRIANGLES, 0, vertCnt );	 +} +//============================================================================= +void LLRenderNavPrim::renderStar( const LLVector3& center, const float scale, const LLColor4U& color ) const +{	 +	for (int k=0; k<3; k++) +	{ +		LLVector3 star, pt1, pt2; +		star = LLVector3( 0.0f,0.0f,0.0f); +		star[k] = 0.5f; +		pt1 =  center + star; +		pt2 =  center - star;	 +		renderLLSegment( pt1, pt2, color ); +	} +} +//============================================================================= diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index c1b0e6736f..4c40c6f12e 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -4340,24 +4340,28 @@ void LLPipeline::renderDebug()  			if (!pathfindingConsoleHandle.isDead())  			{  				LLFloaterPathfindingConsole *pathfindingConsole = pathfindingConsoleHandle.get(); + +				if ( pathfindingConsole->isRenderWorld() ) +				{					 +					glPolygonMode( GL_FRONT_AND_BACK, GL_LINE );	 +				} +				else +				{ +					const LLColor4 &clearColor = pathfindingConsole->mNavMeshColors.mNavMeshClear; +					gGL.setColorMask(true, true); +					glClearColor(clearColor.mV[0],clearColor.mV[1],clearColor.mV[2],0); +					glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);					 +					gGL.setColorMask(true, false); +					glPolygonMode( GL_FRONT_AND_BACK, GL_FILL );	 +				} +  				//NavMesh  				if ( pathfindingConsole->isRenderNavMesh() )  				{	gGL.flush();  					glLineWidth(2.0f);	  					LLGLEnable cull(GL_CULL_FACE);  					LLGLDisable blend(GL_BLEND); -					if ( pathfindingConsole->isRenderWorld() ) -					{					 -						glPolygonMode( GL_FRONT_AND_BACK, GL_LINE );	 -					} -					else -					{ -						const LLColor4 &clearColor = pathfindingConsole->mNavMeshColors.mNavMeshClear; -						glClearColor(clearColor.mV[0],clearColor.mV[1],clearColor.mV[2],0); -						glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);					 -						glPolygonMode( GL_FRONT_AND_BACK, GL_FILL );	 -					} -								 +													  					int materialIndex = pathfindingConsole->getHeatMapType();  					llPathingLibInstance->renderNavMesh( materialIndex );  					gGL.flush(); | 
