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