From 55e1b9fd6b7b98338db162b6172810a4a571996e Mon Sep 17 00:00:00 2001 From: prep linden <prep@lindenlab.com> Date: Thu, 12 Apr 2012 12:46:26 -0400 Subject: Path bookends are now vb's. Which means they are now lit and transparent in the viewer. --- autobuild.xml | 13 +++++----- indra/newview/pipeline.cpp | 60 +++++++++++++++++++++++++++++----------------- 2 files changed, 45 insertions(+), 28 deletions(-) diff --git a/autobuild.xml b/autobuild.xml index bddd17b3a8..63f8075568 100644 --- a/autobuild.xml +++ b/autobuild.xml @@ -1110,9 +1110,9 @@ <key>archive</key> <map> <key>hash</key> - <string>77fc9c5e32582444496d59cbe0ec83b6</string> + <string>fddc6cc31875805517a6c3b674869160</string> <key>url</key> - <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/stinson_llpathinglibrary/rev/253622/arch/Darwin/installer/llphysicsextensions-0.1-darwin-20120411.tar.bz2</string> + <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/stinson_llpathinglibrary/rev/253697/arch/Darwin/installer/llphysicsextensions-0.1-darwin-20120412.tar.bz2</string> </map> <key>name</key> <string>darwin</string> @@ -1122,9 +1122,9 @@ <key>archive</key> <map> <key>hash</key> - <string>95e159db5cf44ce1c696f2c5df7ad861</string> + <string>5afb1c9678b3b503ba89432a992c7d3e</string> <key>url</key> - <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/stinson_llpathinglibrary/rev/253622/arch/Linux/installer/llphysicsextensions-0.1-linux-20120411.tar.bz2</string> + <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/stinson_llpathinglibrary/rev/253697/arch/Linux/installer/llphysicsextensions-0.1-linux-20120412.tar.bz2</string> </map> <key>name</key> <string>linux</string> @@ -1134,9 +1134,9 @@ <key>archive</key> <map> <key>hash</key> - <string>166a7b9e07a1c46875716dea1a218ce5</string> + <string>214d2fd16d526c9daa238d5a0fb2714d</string> <key>url</key> - <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/stinson_llpathinglibrary/rev/253622/arch/CYGWIN/installer/llphysicsextensions-0.1-windows-20120411.tar.bz2</string> + <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/stinson_llpathinglibrary/rev/253697/arch/CYGWIN/installer/llphysicsextensions-0.1-windows-20120412.tar.bz2</string> </map> <key>name</key> <string>windows</string> @@ -2432,3 +2432,4 @@ <string>1.2</string> </map> </llsd> + diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index 526b4bb8d4..e6de14d801 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -4363,25 +4363,26 @@ void LLPipeline::renderDebug() //NavMesh if ( pathfindingConsole->isRenderNavMesh() ) - { gGL.flush(); + { + gGL.flush(); glLineWidth(2.0f); LLGLEnable cull(GL_CULL_FACE); LLGLDisable blend(GL_BLEND); - int materialIndex = pathfindingConsole->getHeatMapType(); + int materialIndex = pathfindingConsole->getHeatMapType(); if ( pathfindingConsole->isRenderWorld() ) { LLGLEnable blend(GL_BLEND); gPathfindingProgram.uniform1f("alpha_scale", 0.66f); - llPathingLibInstance->renderNavMesh( materialIndex ); + llPathingLibInstance->renderNavMesh( materialIndex ); } else { llPathingLibInstance->renderNavMesh( materialIndex ); } - //render edges + //render edges if (LLGLSLShader::sNoFixedFunction) { gPathfindingNoNormalsProgram.bind(); @@ -4396,14 +4397,14 @@ void LLPipeline::renderDebug() } gGL.flush(); - glPolygonMode( GL_FRONT_AND_BACK, GL_FILL ); - glLineWidth(1.0f); - gGL.flush(); - } + glPolygonMode( GL_FRONT_AND_BACK, GL_FILL ); + glLineWidth(1.0f); + gGL.flush(); + } //User designated path if ( LLPathfindingPathTool::getInstance()->isRenderPath() ) { - LLGLEnable blend(GL_BLEND); + //The path if (LLGLSLShader::sNoFixedFunction) { gUIProgram.bind(); @@ -4415,6 +4416,21 @@ void LLPipeline::renderDebug() { llPathingLibInstance->renderPath(); } + //The bookends + LLGLEnable blend(GL_BLEND); + if (LLGLSLShader::sNoFixedFunction) + { + gPathfindingProgram.uniform1f("alpha_scale", 0.90f); + llPathingLibInstance->renderPathBookend( gGL, LLPathingLib::LLPL_START ); + llPathingLibInstance->renderPathBookend( gGL, LLPathingLib::LLPL_END ); + gPathfindingProgram.bind(); + } + else + { + llPathingLibInstance->renderPathBookend( gGL, LLPathingLib::LLPL_START ); + llPathingLibInstance->renderPathBookend( gGL, LLPathingLib::LLPL_END ); + } + } //physics/exclusion shapes if ( pathfindingConsole->isRenderAnyShapes() ) @@ -4453,7 +4469,7 @@ void LLPipeline::renderDebug() //get rid of some z-fighting glPolygonOffset(0.f, 0.f); - LLGLEnable blend(GL_BLEND); + LLGLEnable blend(GL_BLEND); { gPathfindingProgram.uniform1f("ambiance", ambiance); @@ -4485,7 +4501,7 @@ void LLPipeline::renderDebug() } else { - glPolygonMode( GL_FRONT_AND_BACK, GL_FILL ); + glPolygonMode( GL_FRONT_AND_BACK, GL_FILL ); gPathfindingProgram.uniform1f("ambiance", ambiance); llPathingLibInstance->renderNavMeshShapesVBO( render_order[i] ); glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); @@ -4524,7 +4540,7 @@ void LLPipeline::renderDebug() LLGLEnable blend(GL_BLEND); LLGLDepthTest depth(GL_TRUE, GL_FALSE, GL_GREATER); - gGL.flush(); + gGL.flush(); glLineWidth(2.0f); LLGLEnable cull(GL_CULL_FACE); @@ -4535,11 +4551,11 @@ void LLPipeline::renderDebug() if (gSavedSettings.getBOOL("PathfindingXRayWireframe")) { //draw hidden wireframe as darker and less opaque - glPolygonMode( GL_FRONT_AND_BACK, GL_LINE ); + glPolygonMode( GL_FRONT_AND_BACK, GL_LINE ); gPathfindingProgram.uniform1f("ambiance", 1.f); llPathingLibInstance->renderNavMesh( materialIndex ); - glPolygonMode( GL_FRONT_AND_BACK, GL_FILL ); - } + glPolygonMode( GL_FRONT_AND_BACK, GL_FILL ); + } else { gPathfindingProgram.uniform1f("ambiance", ambiance); @@ -4548,27 +4564,27 @@ void LLPipeline::renderDebug() //render edges if (LLGLSLShader::sNoFixedFunction) - { + { gPathfindingNoNormalsProgram.bind(); gPathfindingNoNormalsProgram.uniform1f("tint", gSavedSettings.getF32("PathfindingXRayTint")); gPathfindingNoNormalsProgram.uniform1f("alpha_scale", gSavedSettings.getF32("PathfindingXRayOpacity")); llPathingLibInstance->renderNavMeshEdges( materialIndex ); gPathfindingProgram.bind(); - } + } else { llPathingLibInstance->renderNavMeshEdges( materialIndex ); - } + } gGL.flush(); glLineWidth(1.0f); - } + } glPolygonOffset(0.f, 0.f); - gGL.flush(); - if (LLGLSLShader::sNoFixedFunction) - { + gGL.flush(); + if (LLGLSLShader::sNoFixedFunction) + { gPathfindingProgram.unbind(); } } -- cgit v1.2.3