summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/llrender/llrendernavprim.cpp25
-rw-r--r--indra/newview/pipeline.cpp54
2 files changed, 40 insertions, 39 deletions
diff --git a/indra/llrender/llrendernavprim.cpp b/indra/llrender/llrendernavprim.cpp
index 96027ba65b..ec9ed7f25b 100644
--- a/indra/llrender/llrendernavprim.cpp
+++ b/indra/llrender/llrendernavprim.cpp
@@ -34,8 +34,7 @@
LLRenderNavPrim gRenderNav;
//=============================================================================
void LLRenderNavPrim::renderSegment( const LLVector3& start, const LLVector3& end, int color ) const
-{
-
+{
LLColor4 colorA( color );
glLineWidth(1.5f);
gGL.color3fv( colorA.mV );
@@ -46,18 +45,17 @@ void LLRenderNavPrim::renderSegment( const LLVector3& start, const LLVector3& en
gGL.vertex3fv( end.mV );
}
gGL.end();
+
glLineWidth(1.0f);
}
//=============================================================================
void LLRenderNavPrim::renderTri( const LLVector3& a, const LLVector3& b, const LLVector3& c, int color ) const
{
- glPolygonMode(GL_NONE, GL_FILL);
+ glLineWidth(1.5f);
+ glPolygonMode( GL_FRONT_AND_BACK, GL_FILL );
LLGLDisable cull(GL_CULL_FACE);
- //LLGLEnable lighting( GL_LIGHTING );
- //glEnable(GL_POLYGON_STIPPLE);
- glLineWidth(1.5f);
LLColor4 colorA( color );
- colorA*=2.0f;
+ //colorA*=2.0f;
gGL.color4fv( colorA.mV );
gGL.begin(LLRender::TRIANGLES);
@@ -67,20 +65,17 @@ void LLRenderNavPrim::renderTri( const LLVector3& a, const LLVector3& b, const L
gGL.vertex3fv( c.mV );
}
gGL.end();
+
gGL.flush();
}
//=============================================================================
void LLRenderNavPrim::renderNavMeshVB( LLVertexBuffer* pVBO, int vertCnt )
{
- glPolygonMode(GL_NONE, GL_FILL);
+ glLineWidth(1.5f);
+ glPolygonMode( GL_FRONT_AND_BACK, GL_FILL );
LLGLDisable cull(GL_CULL_FACE);
- glColor3f ( 1.0f, 0.0f, 0.0f ) ;
- glDisable( GL_COLOR_MATERIAL );
-
- pVBO->setBuffer( LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_COLOR );
+ gGL.color4fv( LLColor4::white.mV );
+ pVBO->setBuffer( LLVertexBuffer::MAP_VERTEX );
pVBO->drawArrays( LLRender::TRIANGLES, 0, vertCnt );
- gGL.flush();
- glEnable( GL_COLOR_MATERIAL );
-
}
//=============================================================================
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index 8b51d1cd6c..1db2bb52fb 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -3618,7 +3618,36 @@ void LLPipeline::renderGeom(LLCamera& camera, BOOL forceVBOUpdate)
}
LLAppViewer::instance()->pingMainloopTimeout("Pipeline:ForceVBO");
-
+ //Render navmesh geometry
+ {
+ if ( LLPathingLib::getInstance() )
+ {
+ //prep#
+ glClearColor(0,0,0,0);
+ glEnable(GL_TEXTURE_2D); // Enable Texture Mapping
+ glShadeModel(GL_SMOOTH); // Enable Smooth Shading
+ glClearColor(0.0f, 0.0f, 0.0f, 0.5f); // Black Background
+ glEnable(GL_DEPTH_TEST); // Enables Depth Testing
+ glDepthFunc(GL_LEQUAL);
+ GLfloat LightAmbient[]= { 0.5f, 0.5f, 0.5f, 1.0f };
+ glLightfv(GL_LIGHT1, GL_AMBIENT, LightAmbient);
+
+ bool exclusiveDraw = false;
+ if ( LLPathingLib::getInstance()->getRenderNavMeshState() )
+ {
+ LLPathingLib::getInstance()->renderNavMesh();
+ exclusiveDraw = true;
+ }
+ if ( LLPathingLib::getInstance()->getRenderShapeState() )
+ {
+ LLPathingLib::getInstance()->renderNavMeshShapesVBO();
+ exclusiveDraw = true;
+ }
+
+ if ( exclusiveDraw ) { return; }
+ }
+ }
+
// Initialize lots of GL state to "safe" values
glMatrixMode(GL_TEXTURE);
glLoadIdentity();
@@ -3644,29 +3673,6 @@ void LLPipeline::renderGeom(LLCamera& camera, BOOL forceVBOUpdate)
gGL.getTexUnit(0)->bind(LLViewerFetchedTexture::sDefaultImagep);
LLViewerFetchedTexture::sDefaultImagep->setAddressMode(LLTexUnit::TAM_WRAP);
-
- {
-
- if ( LLPathingLib::getInstance() )
- {
- //prep#
- enableLightsFullbright(LLColor4(1,1,1,1));
-
- bool exclusiveDraw = false;
- if ( LLPathingLib::getInstance()->getRenderNavMeshState() )
- {
- LLPathingLib::getInstance()->renderNavMesh();
- exclusiveDraw = true;
- }
- if ( LLPathingLib::getInstance()->getRenderShapeState() )
- {
- LLPathingLib::getInstance()->renderNavMeshShapesVBO();
- exclusiveDraw = true;
- }
-
- if ( exclusiveDraw ) { return; }
- }
- }
//////////////////////////////////////////////
//