Path-196 : vbo cleanup, visual fixes (path-222)

master
prep 2012-01-19 14:38:16 -05:00
parent e683c48e46
commit e2ef5a5edc
5 changed files with 31 additions and 11 deletions

View File

@ -180,7 +180,7 @@ if (LINUX)
# this stops us requiring a really recent glibc at runtime
add_definitions(-fno-stack-protector)
# linking can be very memory-hungry, especially the final viewer link
set(CMAKE_CXX_LINK_FLAGS "-Wl,--no-keep-memory")
set(CMAKE_CXX_LINK_FLAGS "-Wl,--no-keep-memory,FORCE:MULTIPLE")
endif (NOT STANDALONE)
endif (VIEWER)

View File

@ -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 );
}
}
//=============================================================================

View File

@ -40,11 +40,13 @@ class LLRenderNavPrim
{
public:
//Draw a line
void renderSegment( const LLVector3& start, const LLVector3& end, int color,bool overlayMode ) const;
void renderSegment( const LLVector3& start, const LLVector3& end, int color, bool overlayMode ) const;
//Draw simple tri
void renderTri( const LLVector3& a, const LLVector3& b, const LLVector3& c, int color,bool overlayMode ) const;
void renderTri( const LLVector3& a, const LLVector3& b, const LLVector3& c, int color, bool overlayMode ) const;
//Draw the contents of vertex buffer
void renderNavMeshVB( LLVertexBuffer* pVBO, int vertCnt );
void renderNavMeshVB( LLVertexBuffer* pVBO, int vertCnt );
//Draw a star
void renderStar( const LLVector3& center, const float scale, int color ) const;
private:
};

View File

@ -1517,9 +1517,9 @@ if (WINDOWS)
PROPERTIES
# *TODO -reenable this once we get server usage sorted out
#LINK_FLAGS "/debug /NODEFAULTLIB:LIBCMT /SUBSYSTEM:WINDOWS /INCLUDE:\"__tcmalloc\""
LINK_FLAGS "/debug /NODEFAULTLIB:LIBCMT /SUBSYSTEM:WINDOWS /INCLUDE:__tcmalloc"
LINK_FLAGS_DEBUG "/NODEFAULTLIB:\"LIBCMT;LIBCMTD;MSVCRT\" /INCREMENTAL:NO"
LINK_FLAGS_RELEASE ""
LINK_FLAGS "/debug /NODEFAULTLIB:LIBCMT /SUBSYSTEM:WINDOWS /INCLUDE:__tcmalloc /FORCE:MULTIPLE"
LINK_FLAGS_DEBUG "/NODEFAULTLIB:\"LIBCMT;LIBCMTD;MSVCRT\" /INCREMENTAL:NO /FORCE:MULTIPLE"
LINK_FLAGS_RELEASE "/FORCE:MULTIPLE"
)
if(USE_PRECOMPILED_HEADERS)
set_target_properties(

View File

@ -104,6 +104,7 @@
#include "lltoolpie.h"
#include "llcurl.h"
#include "llnotifications.h"
#include "llpathinglib.h"
#ifdef _DEBUG
// Debug indices is disabled for now for debug performance - djs 4/24/02
@ -6212,7 +6213,11 @@ void LLPipeline::resetVertexBuffers()
gSky.resetVertexBuffers();
LLVertexBuffer::cleanupClass();
if ( LLPathingLib::getInstance() )
{
LLPathingLib::getInstance()->cleanupVBOManger();
}
LLVertexBuffer::cleanupClass();
//delete all name pool caches
LLGLNamePool::cleanupPools();