diff options
| -rw-r--r-- | indra/llrender/llrendernavprim.cpp | 13 | ||||
| -rw-r--r-- | indra/llrender/llrendernavprim.h | 2 | ||||
| -rw-r--r-- | indra/newview/llfloaterpathfindingconsole.cpp | 29 | ||||
| -rw-r--r-- | indra/newview/llfloaterpathfindingconsole.h | 2 | ||||
| -rw-r--r-- | indra/newview/pipeline.cpp | 3 | 
5 files changed, 47 insertions, 2 deletions
diff --git a/indra/llrender/llrendernavprim.cpp b/indra/llrender/llrendernavprim.cpp index ebc453a32c..21ba29741e 100644 --- a/indra/llrender/llrendernavprim.cpp +++ b/indra/llrender/llrendernavprim.cpp @@ -62,6 +62,19 @@ void LLRenderNavPrim::renderTri( const LLVector3& a, const LLVector3& b, const L  	gGL.end();		
  }
  //=============================================================================
 +void LLRenderNavPrim::renderLLTri( const LLVector3& a, const LLVector3& b, const LLVector3& c, const LLColor4U& color, bool overlayMode ) 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 );
 diff --git a/indra/llrender/llrendernavprim.h b/indra/llrender/llrendernavprim.h index 158093690e..b5509d9c5e 100644 --- a/indra/llrender/llrendernavprim.h +++ b/indra/llrender/llrendernavprim.h @@ -43,6 +43,8 @@ public:  	void renderSegment( const LLVector3& start, const LLVector3& end, int color, bool overlayMode  ) const;
  	//Draw simple tri
  	void renderTri( const LLVector3& a, const LLVector3& b, const LLVector3& c, int color, bool overlayMode ) const;
 +	//Draw simple tri
 +	void renderLLTri( const LLVector3& a, const LLVector3& b, const LLVector3& c, const LLColor4U& color, bool overlayMode ) const;
  	//Draw the contents of vertex buffer
  	void renderNavMeshVB( LLVertexBuffer* pVBO, int vertCnt );
  	//Draw a star
 diff --git a/indra/newview/llfloaterpathfindingconsole.cpp b/indra/newview/llfloaterpathfindingconsole.cpp index ae08a166a1..f830dc1fac 100644 --- a/indra/newview/llfloaterpathfindingconsole.cpp +++ b/indra/newview/llfloaterpathfindingconsole.cpp @@ -368,6 +368,35 @@ LLFloaterPathfindingConsole::ERenderHeatmapType LLFloaterPathfindingConsole::get  	return renderHeatmapType;
  }
 +int LLFloaterPathfindingConsole::getHeatMapType() const
 +{
 +	//converts the pathfinding console values to the navmesh filter values
 +
 +	int renderHeatmapType = 4; //none
 +
 +	switch ( mShowNavMeshWalkabilityComboBox->getValue().asInteger() )
 +	{
 +		case XUI_RENDER_HEATMAP_A :
 +			renderHeatmapType = 0;
 +			break;
 +		case XUI_RENDER_HEATMAP_B :
 +			renderHeatmapType = 1;
 +			break;
 +		case XUI_RENDER_HEATMAP_C :
 +			renderHeatmapType = 2;
 +			break;
 +		case XUI_RENDER_HEATMAP_D :
 +			renderHeatmapType = 3;
 +			break;
 +		default :
 +			renderHeatmapType = 4;
 +			break;
 +	}
 +
 +	return renderHeatmapType;
 +}
 +
 +
  void LLFloaterPathfindingConsole::setRenderHeatmapType(ERenderHeatmapType pRenderHeatmapType)
  {
  	LLSD comboBoxValue;
 diff --git a/indra/newview/llfloaterpathfindingconsole.h b/indra/newview/llfloaterpathfindingconsole.h index 8c22e5ead7..dff9b08383 100644 --- a/indra/newview/llfloaterpathfindingconsole.h +++ b/indra/newview/llfloaterpathfindingconsole.h @@ -112,7 +112,7 @@ public:  	bool getHeartBeat() const { return mHeartBeat;}  	void setHeartBeat( bool state ) { mHeartBeat=state; }  	void regionCrossingOccured(); - +	int getHeatMapType() const;  protected: diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index f0c5342425..f91dfa7c27 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -4347,7 +4347,8 @@ void LLPipeline::renderDebug()  					glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);					
  					glPolygonMode( GL_FRONT_AND_BACK, GL_FILL );	
  				}
 -				llPathingLibInstance->renderNavMesh();
 +				int materialIndex = pathfindingConsole->getHeatMapType();
 +				llPathingLibInstance->renderNavMesh( materialIndex );
  				glPolygonMode( GL_FRONT_AND_BACK, GL_FILL );	
  				glLineWidth(1.0f);	
  				gGL.flush();
  | 
