From 0539b08370392385831f631fbdd8cb41977636b9 Mon Sep 17 00:00:00 2001 From: prep Date: Thu, 1 Dec 2011 11:38:16 -0500 Subject: Renamed segment rendering class into RenderNavPrim --- indra/llrender/llrendernavprim.cpp | 69 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 indra/llrender/llrendernavprim.cpp (limited to 'indra/llrender/llrendernavprim.cpp') diff --git a/indra/llrender/llrendernavprim.cpp b/indra/llrender/llrendernavprim.cpp new file mode 100644 index 0000000000..eea65b3a0d --- /dev/null +++ b/indra/llrender/llrendernavprim.cpp @@ -0,0 +1,69 @@ +/** + * @file LLRenderNavPrim.cpp + * @brief + * + * $LicenseInfo:firstyear=2001&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2010, Linden Research, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA + * $/LicenseInfo$ + */ + + +#include "linden_common.h" +#include "llrendernavprim.h" +#include "llerror.h" +#include "llglheaders.h" + +//============================================================================= +LLRenderNavPrim gRenderNav; +//============================================================================= +void LLRenderNavPrim::renderSegment( const LLVector3& start, const LLVector3& end, int color ) +{ + + LLColor4 colorA( color ); + glLineWidth(1.5f); + gGL.color3fv( colorA.mV ); + + gGL.begin(LLRender::LINES); + { + gGL.vertex3fv( start.mV ); + gGL.vertex3fv( end.mV ); + } + gGL.end(); + glLineWidth(1.0f); +} +//============================================================================= +void LLRenderNavPrim::renderTri( const LLVector3& a, const LLVector3& b, const LLVector3& c, int color ) +{ + LLGLEnable offset(GL_POLYGON_OFFSET_LINE); + glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); + glLineWidth(1.5f); + LLColor4 colorA( color ); + gGL.color4fv( colorA.mV ); + gGL.begin(LLRender::TRIANGLES); + { + gGL.vertex3fv( a.mV ); + gGL.vertex3fv( b.mV ); + gGL.vertex3fv( c.mV ); + } + gGL.end(); + + glLineWidth(1.f); +} +//============================================================================= \ No newline at end of file -- cgit v1.2.3 From 0b99da8ba522da1a4a1e4b6dba24ee8dac42de60 Mon Sep 17 00:00:00 2001 From: prep Date: Mon, 5 Dec 2011 17:20:54 -0500 Subject: WIP: Implementing VB manager for complex physics shapes --- indra/llrender/llrendernavprim.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'indra/llrender/llrendernavprim.cpp') diff --git a/indra/llrender/llrendernavprim.cpp b/indra/llrender/llrendernavprim.cpp index eea65b3a0d..e88972219d 100644 --- a/indra/llrender/llrendernavprim.cpp +++ b/indra/llrender/llrendernavprim.cpp @@ -29,11 +29,11 @@ #include "llrendernavprim.h" #include "llerror.h" #include "llglheaders.h" - +#include "llvertexbuffer.h" //============================================================================= LLRenderNavPrim gRenderNav; //============================================================================= -void LLRenderNavPrim::renderSegment( const LLVector3& start, const LLVector3& end, int color ) +void LLRenderNavPrim::renderSegment( const LLVector3& start, const LLVector3& end, int color ) const { LLColor4 colorA( color ); @@ -49,13 +49,13 @@ 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 ) +void LLRenderNavPrim::renderTri( const LLVector3& a, const LLVector3& b, const LLVector3& c, int color ) const { LLGLEnable offset(GL_POLYGON_OFFSET_LINE); glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); glLineWidth(1.5f); LLColor4 colorA( color ); - gGL.color4fv( colorA.mV ); + gGL.color4fv( colorA.mV ); gGL.begin(LLRender::TRIANGLES); { gGL.vertex3fv( a.mV ); @@ -66,4 +66,10 @@ void LLRenderNavPrim::renderTri( const LLVector3& a, const LLVector3& b, const L glLineWidth(1.f); } +//============================================================================= +void LLRenderNavPrim::renderNavMeshVB( const LLVertexBuffer* pVBO, int vertCnt ) const +{ + //pVBO->setBuffer( LLVertexBuffer::MAP_VERTEX ); + pVBO->drawArrays( LLRender::TRIANGLES, 0, vertCnt ); +} //============================================================================= \ No newline at end of file -- cgit v1.2.3 From 8974278746932fe470e2cbc52511fbc915f1e893 Mon Sep 17 00:00:00 2001 From: prep Date: Wed, 7 Dec 2011 17:56:02 -0500 Subject: Turning on navmesh rendering toggles normal renderables --- indra/llrender/llrendernavprim.cpp | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'indra/llrender/llrendernavprim.cpp') diff --git a/indra/llrender/llrendernavprim.cpp b/indra/llrender/llrendernavprim.cpp index e88972219d..73bc21ab7c 100644 --- a/indra/llrender/llrendernavprim.cpp +++ b/indra/llrender/llrendernavprim.cpp @@ -51,25 +51,27 @@ void LLRenderNavPrim::renderSegment( const LLVector3& start, const LLVector3& en //============================================================================= void LLRenderNavPrim::renderTri( const LLVector3& a, const LLVector3& b, const LLVector3& c, int color ) const { - LLGLEnable offset(GL_POLYGON_OFFSET_LINE); - glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); + glPolygonMode(GL_NONE, GL_FILL); + LLGLDisable cull(GL_CULL_FACE); + LLGLEnable lighting( GL_LIGHTING ); + //glEnable(GL_POLYGON_STIPPLE); glLineWidth(1.5f); - LLColor4 colorA( color ); + LLColor4 colorA( color ); gGL.color4fv( colorA.mV ); + gGL.begin(LLRender::TRIANGLES); { gGL.vertex3fv( a.mV ); gGL.vertex3fv( b.mV ); gGL.vertex3fv( c.mV ); } - gGL.end(); - - glLineWidth(1.f); + gGL.end(); + gGL.flush(); } //============================================================================= -void LLRenderNavPrim::renderNavMeshVB( const LLVertexBuffer* pVBO, int vertCnt ) const +void LLRenderNavPrim::renderNavMeshVB( LLVertexBuffer* pVBO, int vertCnt ) { - //pVBO->setBuffer( LLVertexBuffer::MAP_VERTEX ); + //pVBO->setBuffer( LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_COLOR ); pVBO->drawArrays( LLRender::TRIANGLES, 0, vertCnt ); } //============================================================================= \ No newline at end of file -- cgit v1.2.3 From a5e2dad53dda8585b82a2e6ae84f178aa25bcb67 Mon Sep 17 00:00:00 2001 From: prep Date: Wed, 7 Dec 2011 18:09:16 -0500 Subject: Turning on navmesh rendering toggles normal renderables --- indra/llrender/llrendernavprim.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'indra/llrender/llrendernavprim.cpp') diff --git a/indra/llrender/llrendernavprim.cpp b/indra/llrender/llrendernavprim.cpp index 73bc21ab7c..3e14c34168 100644 --- a/indra/llrender/llrendernavprim.cpp +++ b/indra/llrender/llrendernavprim.cpp @@ -53,10 +53,11 @@ void LLRenderNavPrim::renderTri( const LLVector3& a, const LLVector3& b, const L { glPolygonMode(GL_NONE, GL_FILL); LLGLDisable cull(GL_CULL_FACE); - LLGLEnable lighting( GL_LIGHTING ); + //LLGLEnable lighting( GL_LIGHTING ); //glEnable(GL_POLYGON_STIPPLE); glLineWidth(1.5f); LLColor4 colorA( color ); + colorA*=2.0f; gGL.color4fv( colorA.mV ); gGL.begin(LLRender::TRIANGLES); -- cgit v1.2.3 From 4c60c59610493c5f95776af2ac93ff34f741b427 Mon Sep 17 00:00:00 2001 From: prep Date: Fri, 9 Dec 2011 15:56:12 -0500 Subject: added vbo support for physics shapes & fixed navmesh/shape menu toggle --- indra/llrender/llrendernavprim.cpp | 48 ++++++++++++++++++++++---------------- 1 file changed, 28 insertions(+), 20 deletions(-) (limited to 'indra/llrender/llrendernavprim.cpp') diff --git a/indra/llrender/llrendernavprim.cpp b/indra/llrender/llrendernavprim.cpp index 3e14c34168..96027ba65b 100644 --- a/indra/llrender/llrendernavprim.cpp +++ b/indra/llrender/llrendernavprim.cpp @@ -24,7 +24,7 @@ * $/LicenseInfo$ */ - + #include "linden_common.h" #include "llrendernavprim.h" #include "llerror.h" @@ -34,17 +34,17 @@ LLRenderNavPrim gRenderNav; //============================================================================= void LLRenderNavPrim::renderSegment( const LLVector3& start, const LLVector3& end, int color ) const -{ +{ LLColor4 colorA( color ); glLineWidth(1.5f); - gGL.color3fv( colorA.mV ); - - gGL.begin(LLRender::LINES); - { - gGL.vertex3fv( start.mV ); - gGL.vertex3fv( end.mV ); - } + gGL.color3fv( colorA.mV ); + + gGL.begin(LLRender::LINES); + { + gGL.vertex3fv( start.mV ); + gGL.vertex3fv( end.mV ); + } gGL.end(); glLineWidth(1.0f); } @@ -58,21 +58,29 @@ void LLRenderNavPrim::renderTri( const LLVector3& a, const LLVector3& b, const L glLineWidth(1.5f); LLColor4 colorA( color ); colorA*=2.0f; - gGL.color4fv( colorA.mV ); - - gGL.begin(LLRender::TRIANGLES); - { - gGL.vertex3fv( a.mV ); - gGL.vertex3fv( b.mV ); - gGL.vertex3fv( c.mV ); - } - gGL.end(); + gGL.color4fv( colorA.mV ); + + gGL.begin(LLRender::TRIANGLES); + { + gGL.vertex3fv( a.mV ); + gGL.vertex3fv( b.mV ); + gGL.vertex3fv( c.mV ); + } + gGL.end(); gGL.flush(); } //============================================================================= void LLRenderNavPrim::renderNavMeshVB( LLVertexBuffer* pVBO, int vertCnt ) { - //pVBO->setBuffer( LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_COLOR ); + glPolygonMode(GL_NONE, 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 ); pVBO->drawArrays( LLRender::TRIANGLES, 0, vertCnt ); + gGL.flush(); + glEnable( GL_COLOR_MATERIAL ); + } -//============================================================================= \ No newline at end of file +//============================================================================= -- cgit v1.2.3 From 6fd6815dac5069400cd8b6b9ae9b2d518995f6f4 Mon Sep 17 00:00:00 2001 From: prep Date: Tue, 13 Dec 2011 18:13:23 -0500 Subject: WIP: VBO fixes - still an issue where the physics shape inherit the navmehs color. --- indra/llrender/llrendernavprim.cpp | 45 +++++++++++++++++++++++++++++--------- 1 file changed, 35 insertions(+), 10 deletions(-) (limited to 'indra/llrender/llrendernavprim.cpp') diff --git a/indra/llrender/llrendernavprim.cpp b/indra/llrender/llrendernavprim.cpp index 96027ba65b..8d55f840f4 100644 --- a/indra/llrender/llrendernavprim.cpp +++ b/indra/llrender/llrendernavprim.cpp @@ -30,6 +30,7 @@ #include "llerror.h" #include "llglheaders.h" #include "llvertexbuffer.h" + //============================================================================= LLRenderNavPrim gRenderNav; //============================================================================= @@ -51,11 +52,9 @@ void LLRenderNavPrim::renderSegment( const LLVector3& start, const LLVector3& en //============================================================================= 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; gGL.color4fv( colorA.mV ); @@ -71,16 +70,42 @@ void LLRenderNavPrim::renderTri( const LLVector3& a, const LLVector3& b, const L } //============================================================================= void LLRenderNavPrim::renderNavMeshVB( LLVertexBuffer* pVBO, int vertCnt ) -{ - glPolygonMode(GL_NONE, GL_FILL); +{ /* LLGLDisable cull(GL_CULL_FACE); - glColor3f ( 1.0f, 0.0f, 0.0f ) ; - glDisable( GL_COLOR_MATERIAL ); + glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); + glLineWidth(1.f); + + gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE); + LLColor4 colorA( 255); + colorA*=2.0f; + gGL.color4fv( colorA.mV ); pVBO->setBuffer( LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_COLOR ); pVBO->drawArrays( LLRender::TRIANGLES, 0, vertCnt ); - gGL.flush(); - glEnable( GL_COLOR_MATERIAL ); + */ + //2 + //gGL.setSceneBlendType(LLRender::BT_REPLACE); + //glEnable(GL_COLOR_MATERIAL); + //glColorMaterial( GL_FRONT_AND_BACK, GL_AMBIENT ); + //glShadeModel( GL_FLAT ); + //F32 ambient[4] = {1.f,0.f,1.f,1.f }; + //gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE); + //LLColor4 colorA( 255.0f ); + //colorA*=2.0f; + //gGL.color4fv( colorA.mV ); + glLineWidth(1.5f); + glPolygonMode( GL_FRONT_AND_BACK, GL_FILL ); + LLGLDisable cull(GL_CULL_FACE); + LLColor4 colorA( 4278190335 ); + colorA*=2.0f; + gGL.color4fv( colorA.mV ); + + pVBO->setBuffer( LLVertexBuffer::MAP_VERTEX ); + pVBO->drawArrays( LLRender::TRIANGLES, 0, vertCnt ); + //gGL.flush(); + + + } //============================================================================= -- cgit v1.2.3 From b022048f8710502cb6c099c134fca64bccbc209f Mon Sep 17 00:00:00 2001 From: prep Date: Wed, 14 Dec 2011 11:13:55 -0500 Subject: Cleanup --- indra/llrender/llrendernavprim.cpp | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) (limited to 'indra/llrender/llrendernavprim.cpp') 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 ); - } //============================================================================= -- cgit v1.2.3 From 10599b5e8c776a45bc0f14e8fd3f70e0f81196f2 Mon Sep 17 00:00:00 2001 From: prep Date: Wed, 14 Dec 2011 11:25:30 -0500 Subject: merge --- indra/llrender/llrendernavprim.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/llrender/llrendernavprim.cpp') diff --git a/indra/llrender/llrendernavprim.cpp b/indra/llrender/llrendernavprim.cpp index c07d93ab0a..5c7a669fd2 100644 --- a/indra/llrender/llrendernavprim.cpp +++ b/indra/llrender/llrendernavprim.cpp @@ -56,7 +56,7 @@ void LLRenderNavPrim::renderTri( const LLVector3& a, const LLVector3& b, const L glPolygonMode( GL_FRONT_AND_BACK, GL_FILL ); LLGLDisable cull(GL_CULL_FACE); LLColor4 colorA( color ); - //colorA*=2.0f; + colorA*=1.5f; gGL.color4fv( colorA.mV ); gGL.begin(LLRender::TRIANGLES); @@ -75,7 +75,7 @@ void LLRenderNavPrim::renderNavMeshVB( LLVertexBuffer* pVBO, int vertCnt ) glLineWidth(1.5f); glPolygonMode( GL_FRONT_AND_BACK, GL_FILL ); LLGLDisable cull(GL_CULL_FACE); - gGL.color4fv( LLColor4::white.mV ); pVBO->setBuffer( LLVertexBuffer::MAP_VERTEX ); + pVBO->drawArrays( LLRender::TRIANGLES, 0, vertCnt ); } //============================================================================= -- cgit v1.2.3 From 6c9b33286788057489a894edea477ee58509f2ef Mon Sep 17 00:00:00 2001 From: prep Date: Wed, 14 Dec 2011 11:59:36 -0500 Subject: Make shapes a little bit transparent --- indra/llrender/llrendernavprim.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/llrender/llrendernavprim.cpp') diff --git a/indra/llrender/llrendernavprim.cpp b/indra/llrender/llrendernavprim.cpp index 5c7a669fd2..c80ad3e180 100644 --- a/indra/llrender/llrendernavprim.cpp +++ b/indra/llrender/llrendernavprim.cpp @@ -74,7 +74,7 @@ void LLRenderNavPrim::renderNavMeshVB( LLVertexBuffer* pVBO, int vertCnt ) { glLineWidth(1.5f); glPolygonMode( GL_FRONT_AND_BACK, GL_FILL ); - LLGLDisable cull(GL_CULL_FACE); + LLGLDisable cull(GL_CULL_FACE); pVBO->setBuffer( LLVertexBuffer::MAP_VERTEX ); pVBO->drawArrays( LLRender::TRIANGLES, 0, vertCnt ); } -- cgit v1.2.3 From 35b6450d10b826a6bbb60e9dc00e8eaafa8b0d26 Mon Sep 17 00:00:00 2001 From: prep Date: Wed, 14 Dec 2011 15:38:15 -0500 Subject: Enabled fix function when in navmesh rendering mode --- indra/llrender/llrendernavprim.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'indra/llrender/llrendernavprim.cpp') diff --git a/indra/llrender/llrendernavprim.cpp b/indra/llrender/llrendernavprim.cpp index c80ad3e180..3b217b426f 100644 --- a/indra/llrender/llrendernavprim.cpp +++ b/indra/llrender/llrendernavprim.cpp @@ -30,6 +30,7 @@ #include "llerror.h" #include "llglheaders.h" #include "llvertexbuffer.h" +#include "llglslshader.h" //============================================================================= LLRenderNavPrim gRenderNav; @@ -58,16 +59,16 @@ void LLRenderNavPrim::renderTri( const LLVector3& a, const LLVector3& b, const L LLColor4 colorA( color ); colorA*=1.5f; gGL.color4fv( colorA.mV ); - + LLGLSLShader::sNoFixedFunction = false; gGL.begin(LLRender::TRIANGLES); { gGL.vertex3fv( a.mV ); gGL.vertex3fv( b.mV ); gGL.vertex3fv( c.mV ); } - gGL.end(); - + gGL.end(); gGL.flush(); + LLGLSLShader::sNoFixedFunction = true; } //============================================================================= void LLRenderNavPrim::renderNavMeshVB( LLVertexBuffer* pVBO, int vertCnt ) @@ -75,7 +76,9 @@ void LLRenderNavPrim::renderNavMeshVB( LLVertexBuffer* pVBO, int vertCnt ) glLineWidth(1.5f); glPolygonMode( GL_FRONT_AND_BACK, GL_FILL ); LLGLDisable cull(GL_CULL_FACE); + LLGLSLShader::sNoFixedFunction = false; pVBO->setBuffer( LLVertexBuffer::MAP_VERTEX ); pVBO->drawArrays( LLRender::TRIANGLES, 0, vertCnt ); + LLGLSLShader::sNoFixedFunction = true; } //============================================================================= -- cgit v1.2.3 From e9058099d0405ce89905bd2393fb0264327d4230 Mon Sep 17 00:00:00 2001 From: prep Date: Tue, 20 Dec 2011 12:57:32 -0500 Subject: Allow for the overlaying of an unblended navmesh ontop of the scenes normal renderables --- indra/llrender/llrendernavprim.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'indra/llrender/llrendernavprim.cpp') diff --git a/indra/llrender/llrendernavprim.cpp b/indra/llrender/llrendernavprim.cpp index 3b217b426f..11e60548e2 100644 --- a/indra/llrender/llrendernavprim.cpp +++ b/indra/llrender/llrendernavprim.cpp @@ -36,7 +36,8 @@ LLRenderNavPrim gRenderNav; //============================================================================= void LLRenderNavPrim::renderSegment( const LLVector3& start, const LLVector3& end, int color ) const -{ +{ + LLGLSLShader::sNoFixedFunction = false; LLColor4 colorA( color ); glLineWidth(1.5f); gGL.color3fv( colorA.mV ); @@ -48,6 +49,8 @@ void LLRenderNavPrim::renderSegment( const LLVector3& start, const LLVector3& en } gGL.end(); + gGL.flush(); + LLGLSLShader::sNoFixedFunction = true; glLineWidth(1.0f); } //============================================================================= -- cgit v1.2.3 From e2fd0266ca7249e2008b68f11050973d1e429a62 Mon Sep 17 00:00:00 2001 From: prep Date: Thu, 5 Jan 2012 10:20:18 -0500 Subject: path-149 overlay of navmesh on onto renderables --- indra/llrender/llrendernavprim.cpp | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'indra/llrender/llrendernavprim.cpp') 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; } //============================================================================= -- cgit v1.2.3 From 22b877e70a6f72256ff585465232bed93792571d Mon Sep 17 00:00:00 2001 From: prep Date: Thu, 5 Jan 2012 17:02:22 -0500 Subject: WIP: Navmesh vbos rendering fixes (added normal and color maps). --- indra/llrender/llrendernavprim.cpp | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) (limited to 'indra/llrender/llrendernavprim.cpp') diff --git a/indra/llrender/llrendernavprim.cpp b/indra/llrender/llrendernavprim.cpp index 1a0103e8f0..9a114609d2 100644 --- a/indra/llrender/llrendernavprim.cpp +++ b/indra/llrender/llrendernavprim.cpp @@ -67,7 +67,7 @@ void LLRenderNavPrim::renderTri( const LLVector3& a, const LLVector3& b, const L } LLGLDisable cull(GL_CULL_FACE); LLColor4 colorA( color ); - colorA*=1.5f; + colorA*=1.25f; gGL.color4fv( colorA.mV ); LLGLSLShader::sNoFixedFunction = false; gGL.begin(LLRender::TRIANGLES); @@ -86,11 +86,22 @@ void LLRenderNavPrim::renderTri( const LLVector3& a, const LLVector3& b, const L void LLRenderNavPrim::renderNavMeshVB( LLVertexBuffer* pVBO, int vertCnt ) { glLineWidth(1.5f); - glPolygonMode( GL_FRONT_AND_BACK, GL_FILL ); - LLGLDisable cull(GL_CULL_FACE); LLGLSLShader::sNoFixedFunction = false; - pVBO->setBuffer( LLVertexBuffer::MAP_VERTEX ); - pVBO->drawArrays( LLRender::TRIANGLES, 0, vertCnt ); + + LLGLEnable depth(GL_DEPTH_TEST); + glPolygonMode( GL_FRONT_AND_BACK, GL_FILL ); + LLGLEnable cull( GL_CULL_FACE ); + + //pass 1 filled + pVBO->setBuffer( LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_COLOR | LLVertexBuffer::MAP_NORMAL ); + pVBO->drawArrays( LLRender::TRIANGLES, 0, vertCnt ); + //glPolygonMode( GL_FRONT_AND_BACK, GL_LINE ); + //static GLubyte red[]= { 255.0f, 0.0f, 0.0f, 255.0f }; + //glColor4ubv( red ); + //pass 2 outlined + //pVBO->drawArrays( LLRender::TRIANGLES, 0, vertCnt ); LLGLSLShader::sNoFixedFunction = true; + glLineWidth(1.0f); + glPolygonMode( GL_FRONT_AND_BACK, GL_FILL ); } //============================================================================= -- cgit v1.2.3 From e31a0a7f0843266fe8a803dea954cae70e5d7506 Mon Sep 17 00:00:00 2001 From: prep Date: Thu, 5 Jan 2012 17:10:13 -0500 Subject: Remove already enabled depth test --- indra/llrender/llrendernavprim.cpp | 1 - 1 file changed, 1 deletion(-) (limited to 'indra/llrender/llrendernavprim.cpp') diff --git a/indra/llrender/llrendernavprim.cpp b/indra/llrender/llrendernavprim.cpp index 9a114609d2..0965f00e0b 100644 --- a/indra/llrender/llrendernavprim.cpp +++ b/indra/llrender/llrendernavprim.cpp @@ -88,7 +88,6 @@ void LLRenderNavPrim::renderNavMeshVB( LLVertexBuffer* pVBO, int vertCnt ) glLineWidth(1.5f); LLGLSLShader::sNoFixedFunction = false; - LLGLEnable depth(GL_DEPTH_TEST); glPolygonMode( GL_FRONT_AND_BACK, GL_FILL ); LLGLEnable cull( GL_CULL_FACE ); -- cgit v1.2.3 From 1e45d1ae4c25ae8ec73d2b4dc40a5d4efb23121c Mon Sep 17 00:00:00 2001 From: prep Date: Thu, 5 Jan 2012 17:43:36 -0500 Subject: vbos for physics shapes are rendering correctly --- indra/llrender/llrendernavprim.cpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'indra/llrender/llrendernavprim.cpp') diff --git a/indra/llrender/llrendernavprim.cpp b/indra/llrender/llrendernavprim.cpp index 0965f00e0b..ac8d45789c 100644 --- a/indra/llrender/llrendernavprim.cpp +++ b/indra/llrender/llrendernavprim.cpp @@ -85,20 +85,18 @@ void LLRenderNavPrim::renderTri( const LLVector3& a, const LLVector3& b, const L //============================================================================= void LLRenderNavPrim::renderNavMeshVB( LLVertexBuffer* pVBO, int vertCnt ) { + LLGLSUIDefault gls_ui; glLineWidth(1.5f); LLGLSLShader::sNoFixedFunction = false; glPolygonMode( GL_FRONT_AND_BACK, GL_FILL ); - LLGLEnable cull( GL_CULL_FACE ); - + LLGLEnable cull( GL_CULL_FACE ); //pass 1 filled pVBO->setBuffer( LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_COLOR | LLVertexBuffer::MAP_NORMAL ); pVBO->drawArrays( LLRender::TRIANGLES, 0, vertCnt ); - //glPolygonMode( GL_FRONT_AND_BACK, GL_LINE ); - //static GLubyte red[]= { 255.0f, 0.0f, 0.0f, 255.0f }; - //glColor4ubv( red ); + glPolygonMode( GL_FRONT_AND_BACK, GL_LINE ); //pass 2 outlined - //pVBO->drawArrays( LLRender::TRIANGLES, 0, vertCnt ); + pVBO->drawArrays( LLRender::TRIANGLES, 0, vertCnt ); LLGLSLShader::sNoFixedFunction = true; glLineWidth(1.0f); glPolygonMode( GL_FRONT_AND_BACK, GL_FILL ); -- cgit v1.2.3 From b2c024cd79efab92e920f37521ae1c34021b2aa6 Mon Sep 17 00:00:00 2001 From: prep Date: Thu, 5 Jan 2012 18:00:41 -0500 Subject: Some gl state cleanup for physic shapes vbos.' --- indra/llrender/llrendernavprim.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'indra/llrender/llrendernavprim.cpp') diff --git a/indra/llrender/llrendernavprim.cpp b/indra/llrender/llrendernavprim.cpp index ac8d45789c..3d76f08496 100644 --- a/indra/llrender/llrendernavprim.cpp +++ b/indra/llrender/llrendernavprim.cpp @@ -86,11 +86,10 @@ void LLRenderNavPrim::renderTri( const LLVector3& a, const LLVector3& b, const L void LLRenderNavPrim::renderNavMeshVB( LLVertexBuffer* pVBO, int vertCnt ) { LLGLSUIDefault gls_ui; + glEnable( GL_DEPTH_TEST ); + LLGLEnable cull( GL_CULL_FACE ); glLineWidth(1.5f); - LLGLSLShader::sNoFixedFunction = false; - - glPolygonMode( GL_FRONT_AND_BACK, GL_FILL ); - LLGLEnable cull( GL_CULL_FACE ); + LLGLSLShader::sNoFixedFunction = false; //pass 1 filled pVBO->setBuffer( LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_COLOR | LLVertexBuffer::MAP_NORMAL ); pVBO->drawArrays( LLRender::TRIANGLES, 0, vertCnt ); -- cgit v1.2.3 From e2ef5a5edce6a01724d91fde5b471b0bae18d045 Mon Sep 17 00:00:00 2001 From: prep Date: Thu, 19 Jan 2012 14:38:16 -0500 Subject: Path-196 : vbo cleanup, visual fixes (path-222) --- indra/llrender/llrendernavprim.cpp | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'indra/llrender/llrendernavprim.cpp') diff --git a/indra/llrender/llrendernavprim.cpp b/indra/llrender/llrendernavprim.cpp index 3d76f08496..71e808d04e 100644 --- a/indra/llrender/llrendernavprim.cpp +++ b/indra/llrender/llrendernavprim.cpp @@ -1,6 +1,6 @@ /** * @file LLRenderNavPrim.cpp - * @brief + * @brief Renderable primitives used by the pathing library * * $LicenseInfo:firstyear=2001&license=viewerlgpl$ * Second Life Viewer Source Code @@ -35,7 +35,7 @@ //============================================================================= LLRenderNavPrim gRenderNav; //============================================================================= -void LLRenderNavPrim::renderSegment( const LLVector3& start, const LLVector3& end, int color,bool overlayMode ) const +void LLRenderNavPrim::renderSegment( const LLVector3& start, const LLVector3& end, int color, bool overlayMode ) const { LLGLSLShader::sNoFixedFunction = false; LLColor4 colorA( color ); @@ -54,7 +54,7 @@ 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,bool overlayMode ) const +void LLRenderNavPrim::renderTri( const LLVector3& a, const LLVector3& b, const LLVector3& c, int color, bool overlayMode ) const { glLineWidth(1.5f); if ( overlayMode ) @@ -101,3 +101,16 @@ void LLRenderNavPrim::renderNavMeshVB( LLVertexBuffer* pVBO, int vertCnt ) glPolygonMode( GL_FRONT_AND_BACK, GL_FILL ); } //============================================================================= +void LLRenderNavPrim::renderStar( const LLVector3& center, const float scale, int color ) const +{ + for (int k=0; k<3; k++) + { + LLVector3 star, pt1, pt2; + star = LLVector3( 0.0f,0.0f,0.0f); + star[k] = 0.5f; + pt1 = center + star; + pt2 = center - star; + renderSegment( pt1, pt2, color, false ); + } +} +//============================================================================= -- cgit v1.2.3 From 6d6c38f21688eb99691a8273e0779c50dfa69db7 Mon Sep 17 00:00:00 2001 From: prep Date: Mon, 13 Feb 2012 10:10:57 -0500 Subject: Path-197. Navmeshes are converted into vbos. --- indra/llrender/llrendernavprim.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'indra/llrender/llrendernavprim.cpp') diff --git a/indra/llrender/llrendernavprim.cpp b/indra/llrender/llrendernavprim.cpp index 71e808d04e..b99a8cdc86 100644 --- a/indra/llrender/llrendernavprim.cpp +++ b/indra/llrender/llrendernavprim.cpp @@ -38,6 +38,7 @@ LLRenderNavPrim gRenderNav; void LLRenderNavPrim::renderSegment( const LLVector3& start, const LLVector3& end, int color, bool overlayMode ) const { LLGLSLShader::sNoFixedFunction = false; + LLGLEnable smooth(GL_LINE_SMOOTH); LLColor4 colorA( color ); glLineWidth(1.5f); gGL.color3fv( colorA.mV ); @@ -51,6 +52,7 @@ void LLRenderNavPrim::renderSegment( const LLVector3& start, const LLVector3& en gGL.flush(); LLGLSLShader::sNoFixedFunction = true; + LLGLDisable smoothout(GL_LINE_SMOOTH); glLineWidth(1.0f); } //============================================================================= @@ -86,7 +88,7 @@ void LLRenderNavPrim::renderTri( const LLVector3& a, const LLVector3& b, const L void LLRenderNavPrim::renderNavMeshVB( LLVertexBuffer* pVBO, int vertCnt ) { LLGLSUIDefault gls_ui; - glEnable( GL_DEPTH_TEST ); + LLGLEnable depth( GL_DEPTH_TEST ); LLGLEnable cull( GL_CULL_FACE ); glLineWidth(1.5f); LLGLSLShader::sNoFixedFunction = false; @@ -94,11 +96,13 @@ void LLRenderNavPrim::renderNavMeshVB( LLVertexBuffer* pVBO, int vertCnt ) pVBO->setBuffer( LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_COLOR | LLVertexBuffer::MAP_NORMAL ); pVBO->drawArrays( LLRender::TRIANGLES, 0, vertCnt ); glPolygonMode( GL_FRONT_AND_BACK, GL_LINE ); + LLGLEnable smooth(GL_LINE_SMOOTH); //pass 2 outlined pVBO->drawArrays( LLRender::TRIANGLES, 0, vertCnt ); LLGLSLShader::sNoFixedFunction = true; glLineWidth(1.0f); glPolygonMode( GL_FRONT_AND_BACK, GL_FILL ); + LLGLDisable smoothout(GL_LINE_SMOOTH); } //============================================================================= void LLRenderNavPrim::renderStar( const LLVector3& center, const float scale, int color ) const -- cgit v1.2.3 From c618c0d6211f26c1f49382356f27f400698965be Mon Sep 17 00:00:00 2001 From: prep Date: Wed, 15 Feb 2012 16:31:11 -0500 Subject: Path-266: Navmesh is backfaced culled --- indra/llrender/llrendernavprim.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/llrender/llrendernavprim.cpp') diff --git a/indra/llrender/llrendernavprim.cpp b/indra/llrender/llrendernavprim.cpp index b99a8cdc86..30d470729f 100644 --- a/indra/llrender/llrendernavprim.cpp +++ b/indra/llrender/llrendernavprim.cpp @@ -67,7 +67,7 @@ void LLRenderNavPrim::renderTri( const LLVector3& a, const LLVector3& b, const L { glPolygonMode( GL_FRONT_AND_BACK, GL_FILL ); } - LLGLDisable cull(GL_CULL_FACE); + LLGLEnable cull(GL_CULL_FACE); LLColor4 colorA( color ); colorA*=1.25f; gGL.color4fv( colorA.mV ); -- cgit v1.2.3 From b7d93d8adf9f604a2f345336bd0e37c08a0d10cb Mon Sep 17 00:00:00 2001 From: prep Date: Fri, 24 Feb 2012 13:16:35 -0500 Subject: Path-267: Add support for rendering of walkable objects, obstacles and material phantoms. --- indra/llrender/llrendernavprim.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'indra/llrender/llrendernavprim.cpp') diff --git a/indra/llrender/llrendernavprim.cpp b/indra/llrender/llrendernavprim.cpp index 30d470729f..bd05f05751 100644 --- a/indra/llrender/llrendernavprim.cpp +++ b/indra/llrender/llrendernavprim.cpp @@ -87,8 +87,7 @@ void LLRenderNavPrim::renderTri( const LLVector3& a, const LLVector3& b, const L //============================================================================= void LLRenderNavPrim::renderNavMeshVB( LLVertexBuffer* pVBO, int vertCnt ) { - LLGLSUIDefault gls_ui; - LLGLEnable depth( GL_DEPTH_TEST ); + LLGLEnable blend( GL_BLEND ); LLGLEnable cull( GL_CULL_FACE ); glLineWidth(1.5f); LLGLSLShader::sNoFixedFunction = false; @@ -96,13 +95,13 @@ void LLRenderNavPrim::renderNavMeshVB( LLVertexBuffer* pVBO, int vertCnt ) pVBO->setBuffer( LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_COLOR | LLVertexBuffer::MAP_NORMAL ); pVBO->drawArrays( LLRender::TRIANGLES, 0, vertCnt ); glPolygonMode( GL_FRONT_AND_BACK, GL_LINE ); - LLGLEnable smooth(GL_LINE_SMOOTH); + LLGLEnable smooth( GL_LINE_SMOOTH ); //pass 2 outlined pVBO->drawArrays( LLRender::TRIANGLES, 0, vertCnt ); LLGLSLShader::sNoFixedFunction = true; glLineWidth(1.0f); glPolygonMode( GL_FRONT_AND_BACK, GL_FILL ); - LLGLDisable smoothout(GL_LINE_SMOOTH); + LLGLDisable smoothout( GL_LINE_SMOOTH ); } //============================================================================= void LLRenderNavPrim::renderStar( const LLVector3& center, const float scale, int color ) const -- cgit v1.2.3 From b64773bf2d18ae7cb560977e89d10d70a4483290 Mon Sep 17 00:00:00 2001 From: prep Date: Fri, 24 Feb 2012 14:34:53 -0500 Subject: Fix for nacmesh viewing on low gfx setting and llpathinglib update. --- indra/llrender/llrendernavprim.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'indra/llrender/llrendernavprim.cpp') diff --git a/indra/llrender/llrendernavprim.cpp b/indra/llrender/llrendernavprim.cpp index bd05f05751..47cc996043 100644 --- a/indra/llrender/llrendernavprim.cpp +++ b/indra/llrender/llrendernavprim.cpp @@ -37,6 +37,7 @@ LLRenderNavPrim gRenderNav; //============================================================================= void LLRenderNavPrim::renderSegment( const LLVector3& start, const LLVector3& end, int color, bool overlayMode ) const { + bool ff = LLGLSLShader::sNoFixedFunction; LLGLSLShader::sNoFixedFunction = false; LLGLEnable smooth(GL_LINE_SMOOTH); LLColor4 colorA( color ); @@ -51,7 +52,7 @@ void LLRenderNavPrim::renderSegment( const LLVector3& start, const LLVector3& en gGL.end(); gGL.flush(); - LLGLSLShader::sNoFixedFunction = true; + LLGLSLShader::sNoFixedFunction = ff; LLGLDisable smoothout(GL_LINE_SMOOTH); glLineWidth(1.0f); } @@ -70,7 +71,8 @@ void LLRenderNavPrim::renderTri( const LLVector3& a, const LLVector3& b, const L LLGLEnable cull(GL_CULL_FACE); LLColor4 colorA( color ); colorA*=1.25f; - gGL.color4fv( colorA.mV ); + gGL.color4fv( colorA.mV ); + bool ff = LLGLSLShader::sNoFixedFunction; LLGLSLShader::sNoFixedFunction = false; gGL.begin(LLRender::TRIANGLES); { @@ -82,14 +84,15 @@ void LLRenderNavPrim::renderTri( const LLVector3& a, const LLVector3& b, const L gGL.flush(); glLineWidth(1.0f); glPolygonMode( GL_FRONT_AND_BACK, GL_FILL ); - LLGLSLShader::sNoFixedFunction = true; + LLGLSLShader::sNoFixedFunction = ff; } //============================================================================= void LLRenderNavPrim::renderNavMeshVB( LLVertexBuffer* pVBO, int vertCnt ) { LLGLEnable blend( GL_BLEND ); LLGLEnable cull( GL_CULL_FACE ); - glLineWidth(1.5f); + glLineWidth(1.5f); + bool ff = LLGLSLShader::sNoFixedFunction; LLGLSLShader::sNoFixedFunction = false; //pass 1 filled pVBO->setBuffer( LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_COLOR | LLVertexBuffer::MAP_NORMAL ); @@ -98,7 +101,7 @@ void LLRenderNavPrim::renderNavMeshVB( LLVertexBuffer* pVBO, int vertCnt ) LLGLEnable smooth( GL_LINE_SMOOTH ); //pass 2 outlined pVBO->drawArrays( LLRender::TRIANGLES, 0, vertCnt ); - LLGLSLShader::sNoFixedFunction = true; + LLGLSLShader::sNoFixedFunction = ff; glLineWidth(1.0f); glPolygonMode( GL_FRONT_AND_BACK, GL_FILL ); LLGLDisable smoothout( GL_LINE_SMOOTH ); -- cgit v1.2.3 From 34a0a98f9d9557620b7586d343e8173a43164316 Mon Sep 17 00:00:00 2001 From: prep Date: Wed, 7 Mar 2012 10:34:49 -0500 Subject: Partial fix for Path-387. Path-287 Viewer perfomance tweaks. --- indra/llrender/llrendernavprim.cpp | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) (limited to 'indra/llrender/llrendernavprim.cpp') diff --git a/indra/llrender/llrendernavprim.cpp b/indra/llrender/llrendernavprim.cpp index 47cc996043..1114d132c7 100644 --- a/indra/llrender/llrendernavprim.cpp +++ b/indra/llrender/llrendernavprim.cpp @@ -37,9 +37,6 @@ LLRenderNavPrim gRenderNav; //============================================================================= void LLRenderNavPrim::renderSegment( const LLVector3& start, const LLVector3& end, int color, bool overlayMode ) const { - bool ff = LLGLSLShader::sNoFixedFunction; - LLGLSLShader::sNoFixedFunction = false; - LLGLEnable smooth(GL_LINE_SMOOTH); LLColor4 colorA( color ); glLineWidth(1.5f); gGL.color3fv( colorA.mV ); @@ -50,16 +47,12 @@ void LLRenderNavPrim::renderSegment( const LLVector3& start, const LLVector3& en gGL.vertex3fv( end.mV ); } gGL.end(); - - gGL.flush(); - LLGLSLShader::sNoFixedFunction = ff; - LLGLDisable smoothout(GL_LINE_SMOOTH); - glLineWidth(1.0f); + //glLineWidth(1.0f); } //============================================================================= void LLRenderNavPrim::renderTri( const LLVector3& a, const LLVector3& b, const LLVector3& c, int color, bool overlayMode ) const { - glLineWidth(1.5f); + //glLineWidth(1.5f); if ( overlayMode ) { glPolygonMode( GL_FRONT_AND_BACK, GL_LINE ); @@ -68,12 +61,10 @@ void LLRenderNavPrim::renderTri( const LLVector3& a, const LLVector3& b, const L { glPolygonMode( GL_FRONT_AND_BACK, GL_FILL ); } - LLGLEnable cull(GL_CULL_FACE); + LLColor4 colorA( color ); colorA*=1.25f; gGL.color4fv( colorA.mV ); - bool ff = LLGLSLShader::sNoFixedFunction; - LLGLSLShader::sNoFixedFunction = false; gGL.begin(LLRender::TRIANGLES); { gGL.vertex3fv( a.mV ); @@ -81,10 +72,8 @@ void LLRenderNavPrim::renderTri( const LLVector3& a, const LLVector3& b, const L gGL.vertex3fv( c.mV ); } gGL.end(); - gGL.flush(); - glLineWidth(1.0f); - glPolygonMode( GL_FRONT_AND_BACK, GL_FILL ); - LLGLSLShader::sNoFixedFunction = ff; + //glLineWidth(1.0f); + //move out ...glPolygonMode( GL_FRONT_AND_BACK, GL_FILL ); } //============================================================================= void LLRenderNavPrim::renderNavMeshVB( LLVertexBuffer* pVBO, int vertCnt ) @@ -98,13 +87,11 @@ void LLRenderNavPrim::renderNavMeshVB( LLVertexBuffer* pVBO, int vertCnt ) pVBO->setBuffer( LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_COLOR | LLVertexBuffer::MAP_NORMAL ); pVBO->drawArrays( LLRender::TRIANGLES, 0, vertCnt ); glPolygonMode( GL_FRONT_AND_BACK, GL_LINE ); - LLGLEnable smooth( GL_LINE_SMOOTH ); //pass 2 outlined pVBO->drawArrays( LLRender::TRIANGLES, 0, vertCnt ); LLGLSLShader::sNoFixedFunction = ff; glLineWidth(1.0f); glPolygonMode( GL_FRONT_AND_BACK, GL_FILL ); - LLGLDisable smoothout( GL_LINE_SMOOTH ); } //============================================================================= void LLRenderNavPrim::renderStar( const LLVector3& center, const float scale, int color ) const -- cgit v1.2.3 From 790554b218e49141d999b4ef21ecaaa567535665 Mon Sep 17 00:00:00 2001 From: prep Date: Wed, 7 Mar 2012 11:19:13 -0500 Subject: Fix for overlaying navmesh on renderable geometry. --- indra/llrender/llrendernavprim.cpp | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) (limited to 'indra/llrender/llrendernavprim.cpp') diff --git a/indra/llrender/llrendernavprim.cpp b/indra/llrender/llrendernavprim.cpp index 1114d132c7..b697946a1d 100644 --- a/indra/llrender/llrendernavprim.cpp +++ b/indra/llrender/llrendernavprim.cpp @@ -38,7 +38,7 @@ LLRenderNavPrim gRenderNav; void LLRenderNavPrim::renderSegment( const LLVector3& start, const LLVector3& end, int color, bool overlayMode ) const { LLColor4 colorA( color ); - glLineWidth(1.5f); + //glLineWidth(1.5f); gGL.color3fv( colorA.mV ); gGL.begin(LLRender::LINES); @@ -52,16 +52,6 @@ void LLRenderNavPrim::renderSegment( const LLVector3& start, const LLVector3& en //============================================================================= void LLRenderNavPrim::renderTri( const LLVector3& a, const LLVector3& b, const LLVector3& c, int color, bool overlayMode ) const { - //glLineWidth(1.5f); - if ( overlayMode ) - { - glPolygonMode( GL_FRONT_AND_BACK, GL_LINE ); - } - else - { - glPolygonMode( GL_FRONT_AND_BACK, GL_FILL ); - } - LLColor4 colorA( color ); colorA*=1.25f; gGL.color4fv( colorA.mV ); @@ -72,8 +62,6 @@ void LLRenderNavPrim::renderTri( const LLVector3& a, const LLVector3& b, const L gGL.vertex3fv( c.mV ); } gGL.end(); - //glLineWidth(1.0f); - //move out ...glPolygonMode( GL_FRONT_AND_BACK, GL_FILL ); } //============================================================================= void LLRenderNavPrim::renderNavMeshVB( LLVertexBuffer* pVBO, int vertCnt ) -- cgit v1.2.3 From 41e095deb8f40de24c26ef10dda03951566e03c6 Mon Sep 17 00:00:00 2001 From: prep Date: Wed, 7 Mar 2012 17:48:17 -0500 Subject: Path-287: VB bug fixes. Cleaned up rendering prims. Navmesh shape rendering fixes. Code cleanup --- indra/llrender/llrendernavprim.cpp | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) (limited to 'indra/llrender/llrendernavprim.cpp') diff --git a/indra/llrender/llrendernavprim.cpp b/indra/llrender/llrendernavprim.cpp index b697946a1d..ebc453a32c 100644 --- a/indra/llrender/llrendernavprim.cpp +++ b/indra/llrender/llrendernavprim.cpp @@ -38,7 +38,6 @@ LLRenderNavPrim gRenderNav; void LLRenderNavPrim::renderSegment( const LLVector3& start, const LLVector3& end, int color, bool overlayMode ) const { LLColor4 colorA( color ); - //glLineWidth(1.5f); gGL.color3fv( colorA.mV ); gGL.begin(LLRender::LINES); @@ -47,7 +46,6 @@ 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, bool overlayMode ) const @@ -65,21 +63,9 @@ void LLRenderNavPrim::renderTri( const LLVector3& a, const LLVector3& b, const L } //============================================================================= void LLRenderNavPrim::renderNavMeshVB( LLVertexBuffer* pVBO, int vertCnt ) -{ - LLGLEnable blend( GL_BLEND ); - LLGLEnable cull( GL_CULL_FACE ); - glLineWidth(1.5f); - bool ff = LLGLSLShader::sNoFixedFunction; - LLGLSLShader::sNoFixedFunction = false; - //pass 1 filled +{ pVBO->setBuffer( LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_COLOR | LLVertexBuffer::MAP_NORMAL ); pVBO->drawArrays( LLRender::TRIANGLES, 0, vertCnt ); - glPolygonMode( GL_FRONT_AND_BACK, GL_LINE ); - //pass 2 outlined - pVBO->drawArrays( LLRender::TRIANGLES, 0, vertCnt ); - LLGLSLShader::sNoFixedFunction = ff; - glLineWidth(1.0f); - glPolygonMode( GL_FRONT_AND_BACK, GL_FILL ); } //============================================================================= void LLRenderNavPrim::renderStar( const LLVector3& center, const float scale, int color ) const -- cgit v1.2.3 From 154e569923d0caf99fb0d24af8475731f5ceaf33 Mon Sep 17 00:00:00 2001 From: prep Date: Wed, 21 Mar 2012 09:53:32 -0400 Subject: Path-282: Added support for viewing the walkability map for various character types --- indra/llrender/llrendernavprim.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'indra/llrender/llrendernavprim.cpp') 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 ); -- cgit v1.2.3 From 89d20b750cbedc682dd203c0727c9e8fa5ebad6c Mon Sep 17 00:00:00 2001 From: prep Date: Thu, 22 Mar 2012 15:56:00 -0400 Subject: Removed dead code --- indra/llrender/llrendernavprim.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'indra/llrender/llrendernavprim.cpp') diff --git a/indra/llrender/llrendernavprim.cpp b/indra/llrender/llrendernavprim.cpp index 21ba29741e..fb762b0870 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, bool overlayMode ) const +void LLRenderNavPrim::renderSegment( const LLVector3& start, const LLVector3& end, int color ) const { LLColor4 colorA( color ); gGL.color3fv( colorA.mV ); @@ -48,7 +48,7 @@ void LLRenderNavPrim::renderSegment( const LLVector3& start, const LLVector3& en gGL.end(); } //============================================================================= -void LLRenderNavPrim::renderTri( const LLVector3& a, const LLVector3& b, const LLVector3& c, int color, bool overlayMode ) const +void LLRenderNavPrim::renderTri( const LLVector3& a, const LLVector3& b, const LLVector3& c, int color ) const { LLColor4 colorA( color ); colorA*=1.25f; @@ -62,7 +62,7 @@ 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 +void LLRenderNavPrim::renderLLTri( const LLVector3& a, const LLVector3& b, const LLVector3& c, const LLColor4U& color ) const { LLColor4 cV(color); gGL.color4fv( cV.mV ); @@ -90,7 +90,7 @@ void LLRenderNavPrim::renderStar( const LLVector3& center, const float scale, in star[k] = 0.5f; pt1 = center + star; pt2 = center - star; - renderSegment( pt1, pt2, color, false ); + renderSegment( pt1, pt2, color ); } } //============================================================================= -- cgit v1.2.3 From b73f0f103d433432a661fe416bd4d5ab91991cfc Mon Sep 17 00:00:00 2001 From: prep Date: Tue, 27 Mar 2012 15:33:04 -0400 Subject: Navmesh rendering api update to ll color structs --- indra/llrender/llrendernavprim.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'indra/llrender/llrendernavprim.cpp') diff --git a/indra/llrender/llrendernavprim.cpp b/indra/llrender/llrendernavprim.cpp index fb762b0870..d6da722e0c 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::renderLLSegment( const LLVector3& start, const LLVector3& end, const LLColor4U& color ) const { LLColor4 colorA( color ); gGL.color3fv( colorA.mV ); @@ -81,7 +81,7 @@ void LLRenderNavPrim::renderNavMeshVB( LLVertexBuffer* pVBO, int vertCnt ) pVBO->drawArrays( LLRender::TRIANGLES, 0, vertCnt ); } //============================================================================= -void LLRenderNavPrim::renderStar( const LLVector3& center, const float scale, int color ) const +void LLRenderNavPrim::renderStar( const LLVector3& center, const float scale, const LLColor4U& color ) const { for (int k=0; k<3; k++) { @@ -90,7 +90,7 @@ void LLRenderNavPrim::renderStar( const LLVector3& center, const float scale, in star[k] = 0.5f; pt1 = center + star; pt2 = center - star; - renderSegment( pt1, pt2, color ); + renderLLSegment( pt1, pt2, color ); } } //============================================================================= -- cgit v1.2.3 From 2388de3f958f019255c1eb50cafb540e87a3ca3a Mon Sep 17 00:00:00 2001 From: prep Date: Tue, 3 Apr 2012 13:06:21 -0400 Subject: Added normal support to navmesh tri renderer. --- indra/llrender/llrendernavprim.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'indra/llrender/llrendernavprim.cpp') diff --git a/indra/llrender/llrendernavprim.cpp b/indra/llrender/llrendernavprim.cpp index d6da722e0c..7dd042271a 100644 --- a/indra/llrender/llrendernavprim.cpp +++ b/indra/llrender/llrendernavprim.cpp @@ -62,12 +62,13 @@ 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 ) const +void LLRenderNavPrim::renderLLTri( const LLVector3& a, const LLVector3& b, const LLVector3& c, const LLColor4U& color, const LLVector3& n ) const { LLColor4 cV(color); gGL.color4fv( cV.mV ); gGL.begin(LLRender::TRIANGLES); { + glNormal3f( n.mV[0],n.mV[1],n.mV[2] ); gGL.vertex3fv( a.mV ); gGL.vertex3fv( b.mV ); gGL.vertex3fv( c.mV ); -- cgit v1.2.3 From 68a4e0ee992fc6f2f1e3a733788f6fe31b85b549 Mon Sep 17 00:00:00 2001 From: Dave Parks Date: Tue, 3 Apr 2012 16:12:33 -0500 Subject: Fix build. Axe deprecated glNormal call. Don't show the world just because navmesh isn't checked. --- indra/llrender/llrendernavprim.cpp | 193 ++++++++++++++++++------------------- 1 file changed, 96 insertions(+), 97 deletions(-) (limited to 'indra/llrender/llrendernavprim.cpp') diff --git a/indra/llrender/llrendernavprim.cpp b/indra/llrender/llrendernavprim.cpp index 7dd042271a..56b176d39c 100644 --- a/indra/llrender/llrendernavprim.cpp +++ b/indra/llrender/llrendernavprim.cpp @@ -1,97 +1,96 @@ -/** - * @file LLRenderNavPrim.cpp - * @brief Renderable primitives used by the pathing library - * - * $LicenseInfo:firstyear=2001&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2010, Linden Research, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA - * $/LicenseInfo$ - */ - - -#include "linden_common.h" -#include "llrendernavprim.h" -#include "llerror.h" -#include "llglheaders.h" -#include "llvertexbuffer.h" -#include "llglslshader.h" - -//============================================================================= -LLRenderNavPrim gRenderNav; -//============================================================================= -void LLRenderNavPrim::renderLLSegment( const LLVector3& start, const LLVector3& end, const LLColor4U& color ) const -{ - LLColor4 colorA( color ); - gGL.color3fv( colorA.mV ); - - gGL.begin(LLRender::LINES); - { - gGL.vertex3fv( start.mV ); - gGL.vertex3fv( end.mV ); - } - gGL.end(); -} -//============================================================================= -void LLRenderNavPrim::renderTri( const LLVector3& a, const LLVector3& b, const LLVector3& c, int color ) const -{ - LLColor4 colorA( color ); - colorA*=1.25f; - gGL.color4fv( colorA.mV ); - gGL.begin(LLRender::TRIANGLES); - { - gGL.vertex3fv( a.mV ); - gGL.vertex3fv( b.mV ); - gGL.vertex3fv( c.mV ); - } - gGL.end(); -} -//============================================================================= -void LLRenderNavPrim::renderLLTri( const LLVector3& a, const LLVector3& b, const LLVector3& c, const LLColor4U& color, const LLVector3& n ) const -{ - LLColor4 cV(color); - gGL.color4fv( cV.mV ); - gGL.begin(LLRender::TRIANGLES); - { - glNormal3f( n.mV[0],n.mV[1],n.mV[2] ); - 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 ); - pVBO->drawArrays( LLRender::TRIANGLES, 0, vertCnt ); -} -//============================================================================= -void LLRenderNavPrim::renderStar( const LLVector3& center, const float scale, const LLColor4U& color ) const -{ - for (int k=0; k<3; k++) - { - LLVector3 star, pt1, pt2; - star = LLVector3( 0.0f,0.0f,0.0f); - star[k] = 0.5f; - pt1 = center + star; - pt2 = center - star; - renderLLSegment( pt1, pt2, color ); - } -} -//============================================================================= +/** + * @file LLRenderNavPrim.cpp + * @brief Renderable primitives used by the pathing library + * + * $LicenseInfo:firstyear=2001&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2010, Linden Research, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA + * $/LicenseInfo$ + */ + + +#include "linden_common.h" +#include "llrendernavprim.h" +#include "llerror.h" +#include "llglheaders.h" +#include "llvertexbuffer.h" +#include "llglslshader.h" + +//============================================================================= +LLRenderNavPrim gRenderNav; +//============================================================================= +void LLRenderNavPrim::renderLLSegment( const LLVector3& start, const LLVector3& end, const LLColor4U& color ) const +{ + LLColor4 colorA( color ); + gGL.color3fv( colorA.mV ); + + gGL.begin(LLRender::LINES); + { + gGL.vertex3fv( start.mV ); + gGL.vertex3fv( end.mV ); + } + gGL.end(); +} +//============================================================================= +void LLRenderNavPrim::renderTri( const LLVector3& a, const LLVector3& b, const LLVector3& c, int color ) const +{ + LLColor4 colorA( color ); + colorA*=1.25f; + gGL.color4fv( colorA.mV ); + gGL.begin(LLRender::TRIANGLES); + { + gGL.vertex3fv( a.mV ); + gGL.vertex3fv( b.mV ); + gGL.vertex3fv( c.mV ); + } + gGL.end(); +} +//============================================================================= +void LLRenderNavPrim::renderLLTri( const LLVector3& a, const LLVector3& b, const LLVector3& c, const LLColor4U& color, const LLVector3& n ) 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 ); + pVBO->drawArrays( LLRender::TRIANGLES, 0, vertCnt ); +} +//============================================================================= +void LLRenderNavPrim::renderStar( const LLVector3& center, const float scale, const LLColor4U& color ) const +{ + for (int k=0; k<3; k++) + { + LLVector3 star, pt1, pt2; + star = LLVector3( 0.0f,0.0f,0.0f); + star[k] = 0.5f; + pt1 = center + star; + pt2 = center - star; + renderLLSegment( pt1, pt2, color ); + } +} +//============================================================================= -- cgit v1.2.3 From b752a3a689ea2000398c9f93e801d87a2681223c Mon Sep 17 00:00:00 2001 From: prep Date: Thu, 5 Apr 2012 11:08:31 -0400 Subject: Navmesh edges are now rendered via vertex buffers. Enjoy the speedup! --- indra/llrender/llrendernavprim.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'indra/llrender/llrendernavprim.cpp') diff --git a/indra/llrender/llrendernavprim.cpp b/indra/llrender/llrendernavprim.cpp index 56b176d39c..2632428dfd 100644 --- a/indra/llrender/llrendernavprim.cpp +++ b/indra/llrender/llrendernavprim.cpp @@ -81,6 +81,12 @@ void LLRenderNavPrim::renderNavMeshVB( LLVertexBuffer* pVBO, int vertCnt ) pVBO->drawArrays( LLRender::TRIANGLES, 0, vertCnt ); } //============================================================================= +void LLRenderNavPrim::renderNavMeshEdgeVB( LLVertexBuffer* pVBO, int vertCnt ) +{ + pVBO->setBuffer( LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_COLOR | LLVertexBuffer::MAP_NORMAL ); + pVBO->drawArrays( LLRender::LINES, 0, vertCnt ); +} +//============================================================================= void LLRenderNavPrim::renderStar( const LLVector3& center, const float scale, const LLColor4U& color ) const { for (int k=0; k<3; k++) -- cgit v1.2.3 From fef78653cd2a81efb032d7570fc5e5a0814086b7 Mon Sep 17 00:00:00 2001 From: prep Date: Thu, 5 Apr 2012 14:27:05 -0400 Subject: consolidate navmesh rendering calls --- indra/llrender/llrendernavprim.cpp | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) (limited to 'indra/llrender/llrendernavprim.cpp') diff --git a/indra/llrender/llrendernavprim.cpp b/indra/llrender/llrendernavprim.cpp index 2632428dfd..100b614aae 100644 --- a/indra/llrender/llrendernavprim.cpp +++ b/indra/llrender/llrendernavprim.cpp @@ -75,16 +75,10 @@ void LLRenderNavPrim::renderLLTri( const LLVector3& a, const LLVector3& b, const gGL.end(); } //============================================================================= -void LLRenderNavPrim::renderNavMeshVB( LLVertexBuffer* pVBO, int vertCnt ) +void LLRenderNavPrim::renderNavMeshVB( U32 mode, LLVertexBuffer* pVBO, int vertCnt ) { pVBO->setBuffer( LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_COLOR | LLVertexBuffer::MAP_NORMAL ); - pVBO->drawArrays( LLRender::TRIANGLES, 0, vertCnt ); -} -//============================================================================= -void LLRenderNavPrim::renderNavMeshEdgeVB( LLVertexBuffer* pVBO, int vertCnt ) -{ - pVBO->setBuffer( LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_COLOR | LLVertexBuffer::MAP_NORMAL ); - pVBO->drawArrays( LLRender::LINES, 0, vertCnt ); + pVBO->drawArrays( mode, 0, vertCnt ); } //============================================================================= void LLRenderNavPrim::renderStar( const LLVector3& center, const float scale, const LLColor4U& color ) const -- cgit v1.2.3 From 31543e637bcb0e6ddc83d21a3efdbe242fcf9f71 Mon Sep 17 00:00:00 2001 From: prep Date: Tue, 10 Apr 2012 14:34:28 -0400 Subject: Fixed default character width bug. Updated rendertri api for new path rendering bookends. --- indra/llrender/llrendernavprim.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/llrender/llrendernavprim.cpp') diff --git a/indra/llrender/llrendernavprim.cpp b/indra/llrender/llrendernavprim.cpp index 100b614aae..c24a09028f 100644 --- a/indra/llrender/llrendernavprim.cpp +++ b/indra/llrender/llrendernavprim.cpp @@ -62,7 +62,7 @@ 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, const LLVector3& n ) const +void LLRenderNavPrim::renderLLTri( const LLVector3& a, const LLVector3& b, const LLVector3& c, const LLColor4U& color ) const { LLColor4 cV(color); gGL.color4fv( cV.mV ); -- cgit v1.2.3 From 78910cf3016fc55eaf8214640b348df0f8bcdeda Mon Sep 17 00:00:00 2001 From: Todd Stinson Date: Tue, 26 Jun 2012 18:04:19 -0700 Subject: Updating the header licensing comments. --- indra/llrender/llrendernavprim.cpp | 53 ++++++++++++++++++++------------------ 1 file changed, 28 insertions(+), 25 deletions(-) (limited to 'indra/llrender/llrendernavprim.cpp') diff --git a/indra/llrender/llrendernavprim.cpp b/indra/llrender/llrendernavprim.cpp index c24a09028f..e7bc89396c 100644 --- a/indra/llrender/llrendernavprim.cpp +++ b/indra/llrender/llrendernavprim.cpp @@ -1,36 +1,39 @@ /** - * @file LLRenderNavPrim.cpp - * @brief Renderable primitives used by the pathing library - * - * $LicenseInfo:firstyear=2001&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2010, Linden Research, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA - * $/LicenseInfo$ - */ +* @file llrendernavprim.cpp +* @brief Implementation of llrendernavprim +* @author Prep@lindenlab.com +* +* $LicenseInfo:firstyear=2012&license=viewerlgpl$ +* Second Life Viewer Source Code +* Copyright (C) 2012, Linden Research, Inc. +* +* This library is free software; you can redistribute it and/or +* modify it under the terms of the GNU Lesser General Public +* License as published by the Free Software Foundation; +* version 2.1 of the License only. +* +* This library is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +* Lesser General Public License for more details. +* +* You should have received a copy of the GNU Lesser General Public +* License along with this library; if not, write to the Free Software +* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +* +* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA +* $/LicenseInfo$ +*/ #include "linden_common.h" + #include "llrendernavprim.h" + #include "llerror.h" #include "llglheaders.h" -#include "llvertexbuffer.h" #include "llglslshader.h" +#include "llvertexbuffer.h" //============================================================================= LLRenderNavPrim gRenderNav; -- cgit v1.2.3 From fa562d19cf9bc698ce883191b6eea2af6abc4164 Mon Sep 17 00:00:00 2001 From: Todd Stinson Date: Wed, 27 Jun 2012 18:12:57 -0700 Subject: Removing unreferenced methods from the LLRenderNavPrim class. --- indra/llrender/llrendernavprim.cpp | 46 +++----------------------------------- 1 file changed, 3 insertions(+), 43 deletions(-) (limited to 'indra/llrender/llrendernavprim.cpp') diff --git a/indra/llrender/llrendernavprim.cpp b/indra/llrender/llrendernavprim.cpp index e7bc89396c..ca72964832 100644 --- a/indra/llrender/llrendernavprim.cpp +++ b/indra/llrender/llrendernavprim.cpp @@ -30,41 +30,14 @@ #include "llrendernavprim.h" -#include "llerror.h" -#include "llglheaders.h" -#include "llglslshader.h" +#include "llrender.h" #include "llvertexbuffer.h" +#include "v4coloru.h" +#include "v3math.h" //============================================================================= LLRenderNavPrim gRenderNav; //============================================================================= -void LLRenderNavPrim::renderLLSegment( const LLVector3& start, const LLVector3& end, const LLColor4U& color ) const -{ - LLColor4 colorA( color ); - gGL.color3fv( colorA.mV ); - - gGL.begin(LLRender::LINES); - { - gGL.vertex3fv( start.mV ); - gGL.vertex3fv( end.mV ); - } - gGL.end(); -} -//============================================================================= -void LLRenderNavPrim::renderTri( const LLVector3& a, const LLVector3& b, const LLVector3& c, int color ) const -{ - LLColor4 colorA( color ); - colorA*=1.25f; - gGL.color4fv( colorA.mV ); - gGL.begin(LLRender::TRIANGLES); - { - gGL.vertex3fv( a.mV ); - gGL.vertex3fv( b.mV ); - gGL.vertex3fv( c.mV ); - } - gGL.end(); -} -//============================================================================= void LLRenderNavPrim::renderLLTri( const LLVector3& a, const LLVector3& b, const LLVector3& c, const LLColor4U& color ) const { LLColor4 cV(color); @@ -84,16 +57,3 @@ void LLRenderNavPrim::renderNavMeshVB( U32 mode, LLVertexBuffer* pVBO, int vertC pVBO->drawArrays( mode, 0, vertCnt ); } //============================================================================= -void LLRenderNavPrim::renderStar( const LLVector3& center, const float scale, const LLColor4U& color ) const -{ - for (int k=0; k<3; k++) - { - LLVector3 star, pt1, pt2; - star = LLVector3( 0.0f,0.0f,0.0f); - star[k] = 0.5f; - pt1 = center + star; - pt2 = center - star; - renderLLSegment( pt1, pt2, color ); - } -} -//============================================================================= -- cgit v1.2.3