diff options
-rw-r--r-- | indra/llrender/llrendernavprim.cpp | 17 | ||||
-rw-r--r-- | indra/llrender/llrendernavprim.h | 4 | ||||
-rw-r--r-- | indra/newview/llviewerdisplay.cpp | 2 |
3 files changed, 16 insertions, 7 deletions
diff --git a/indra/llrender/llrendernavprim.cpp b/indra/llrender/llrendernavprim.cpp index 11e60548e2..1a0103e8f0 100644 --- a/indra/llrender/llrendernavprim.cpp +++ b/indra/llrender/llrendernavprim.cpp @@ -35,7 +35,7 @@ //=============================================================================
LLRenderNavPrim gRenderNav;
//=============================================================================
-void LLRenderNavPrim::renderSegment( const LLVector3& start, const LLVector3& end, int color ) const
+void LLRenderNavPrim::renderSegment( const LLVector3& start, const LLVector3& end, int color,bool overlayMode ) const
{
LLGLSLShader::sNoFixedFunction = false;
LLColor4 colorA( color );
@@ -54,10 +54,17 @@ void LLRenderNavPrim::renderSegment( const LLVector3& start, const LLVector3& en glLineWidth(1.0f);
}
//=============================================================================
-void LLRenderNavPrim::renderTri( const LLVector3& a, const LLVector3& b, const LLVector3& c, int color ) const
+void LLRenderNavPrim::renderTri( const LLVector3& a, const LLVector3& b, const LLVector3& c, int color,bool overlayMode ) const
{
- glLineWidth(1.5f);
- glPolygonMode( GL_FRONT_AND_BACK, GL_FILL );
+ glLineWidth(1.5f);
+ if ( overlayMode )
+ {
+ glPolygonMode( GL_FRONT_AND_BACK, GL_LINE );
+ }
+ else
+ {
+ glPolygonMode( GL_FRONT_AND_BACK, GL_FILL );
+ }
LLGLDisable cull(GL_CULL_FACE);
LLColor4 colorA( color );
colorA*=1.5f;
@@ -71,6 +78,8 @@ void LLRenderNavPrim::renderTri( const LLVector3& a, const LLVector3& b, const L }
gGL.end();
gGL.flush();
+ glLineWidth(1.0f);
+ glPolygonMode( GL_FRONT_AND_BACK, GL_FILL );
LLGLSLShader::sNoFixedFunction = true;
}
//=============================================================================
diff --git a/indra/llrender/llrendernavprim.h b/indra/llrender/llrendernavprim.h index cd57fd2223..a30a14551d 100644 --- a/indra/llrender/llrendernavprim.h +++ b/indra/llrender/llrendernavprim.h @@ -40,9 +40,9 @@ class LLRenderNavPrim {
public:
//Draw a line
- void renderSegment( const LLVector3& start, const LLVector3& end, int color ) const;
+ 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 ) const;
+ void renderTri( const LLVector3& a, const LLVector3& b, const LLVector3& c, int color,bool overlayMode ) const;
//Draw the contents of vertex buffer
void renderNavMeshVB( LLVertexBuffer* pVBO, int vertCnt );
diff --git a/indra/newview/llviewerdisplay.cpp b/indra/newview/llviewerdisplay.cpp index 2b2dd5ef7c..3cc025462b 100644 --- a/indra/newview/llviewerdisplay.cpp +++ b/indra/newview/llviewerdisplay.cpp @@ -920,7 +920,7 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot) glEnable(GL_DEPTH_TEST);
gGL.setSceneBlendType( LLRender::BT_ALPHA );
gGL.setAmbientLightColor( LLColor4::white );
- LLPathingLib::getInstance()->renderNavMesh();
+ LLPathingLib::getInstance()->renderNavMesh( allowRenderables );
exclusiveDraw = true;
}
//physics/exclusion shapes
|