diff options
author | prep <none@none> | 2011-12-09 15:56:12 -0500 |
---|---|---|
committer | prep <none@none> | 2011-12-09 15:56:12 -0500 |
commit | 4c60c59610493c5f95776af2ac93ff34f741b427 (patch) | |
tree | 92e5057c08cb35817a1761df22295a596b4eebf0 | |
parent | a5e2dad53dda8585b82a2e6ae84f178aa25bcb67 (diff) |
added vbo support for physics shapes & fixed navmesh/shape menu toggle
-rw-r--r-- | indra/llrender/llrendernavprim.cpp | 48 | ||||
-rw-r--r-- | indra/newview/llviewermenufile.cpp | 2 | ||||
-rw-r--r-- | indra/newview/pipeline.cpp | 13 |
3 files changed, 36 insertions, 27 deletions
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 +//=============================================================================
diff --git a/indra/newview/llviewermenufile.cpp b/indra/newview/llviewermenufile.cpp index 91ca4175f4..caa5982f56 100644 --- a/indra/newview/llviewermenufile.cpp +++ b/indra/newview/llviewermenufile.cpp @@ -105,7 +105,7 @@ class LLNavMeshShapeRenderingToggle : public view_listener_t {
if ( LLPathingLib::getInstance() )
{
- LLPathingLib::getInstance()->toggleRenderNavMeshandShapesState( );
+ LLPathingLib::getInstance()->toggleRenderShapeState( );
}
return true;
}
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index 40cefb8d05..8b51d1cd6c 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -3646,21 +3646,21 @@ void LLPipeline::renderGeom(LLCamera& camera, BOOL forceVBOUpdate) { - //prep# - enableLightsFullbright(LLColor4(1,1,1,1)); - + 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()->getRenderNavMeshandShapesState() ) + if ( LLPathingLib::getInstance()->getRenderShapeState() ) { - //LLPathingLib::getInstance()->renderNavMeshShapesVBO(); + LLPathingLib::getInstance()->renderNavMeshShapesVBO(); exclusiveDraw = true; } @@ -8142,6 +8142,7 @@ void LLPipeline::generateWaterReflection(LLCamera& camera_in) gGL.setColorMask(true, false); renderGeom(camera); + } LLPipeline::sUnderWaterRender = FALSE; |