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') 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') 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') 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') 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