diff options
Diffstat (limited to 'indra/newview/llviewerjoint.cpp')
-rw-r--r-- | indra/newview/llviewerjoint.cpp | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/indra/newview/llviewerjoint.cpp b/indra/newview/llviewerjoint.cpp index 1cc062dbd2..c2591ac8d7 100644 --- a/indra/newview/llviewerjoint.cpp +++ b/indra/newview/llviewerjoint.cpp @@ -242,7 +242,7 @@ void LLViewerJoint::setValid( BOOL valid, BOOL recursive ) //-------------------------------------------------------------------- // render() //-------------------------------------------------------------------- -U32 LLViewerJoint::render( F32 pixelArea, BOOL first_pass ) +U32 LLViewerJoint::render( F32 pixelArea, BOOL first_pass, BOOL is_dummy ) { stop_glerror(); @@ -259,13 +259,13 @@ U32 LLViewerJoint::render( F32 pixelArea, BOOL first_pass ) // if object is transparent, defer it, otherwise // give the joint subclass a chance to draw itself //---------------------------------------------------------------- - if ( gRenderForSelect ) + if ( gRenderForSelect || is_dummy ) { - triangle_count += drawShape( pixelArea, first_pass ); + triangle_count += drawShape( pixelArea, first_pass, is_dummy ); } else if (LLPipeline::sShadowRender) { - triangle_count += drawShape(pixelArea, first_pass); + triangle_count += drawShape(pixelArea, first_pass, is_dummy ); } else if ( isTransparent() && !LLPipeline::sReflectionRender) { @@ -277,18 +277,18 @@ U32 LLViewerJoint::render( F32 pixelArea, BOOL first_pass ) // first pass renders without writing to the z buffer { LLGLDepthTest gls_depth(GL_TRUE, GL_FALSE); - triangle_count += drawShape( pixelArea, first_pass); + triangle_count += drawShape( pixelArea, first_pass, is_dummy ); } // second pass writes to z buffer only gGL.setColorMask(false, false); { - triangle_count += drawShape( pixelArea, FALSE ); + triangle_count += drawShape( pixelArea, FALSE, is_dummy ); } // third past respects z buffer and writes color gGL.setColorMask(true, false); { LLGLDepthTest gls_depth(GL_TRUE, GL_FALSE); - triangle_count += drawShape( pixelArea, FALSE ); + triangle_count += drawShape( pixelArea, FALSE, is_dummy ); } } else @@ -297,12 +297,12 @@ U32 LLViewerJoint::render( F32 pixelArea, BOOL first_pass ) glCullFace(GL_FRONT); { LLGLDepthTest gls_depth(GL_TRUE, GL_FALSE); - triangle_count += drawShape( pixelArea, first_pass ); + triangle_count += drawShape( pixelArea, first_pass, is_dummy ); } // Render Outside (write to the Z buffer) glCullFace(GL_BACK); { - triangle_count += drawShape( pixelArea, FALSE ); + triangle_count += drawShape( pixelArea, FALSE, is_dummy ); } } } @@ -323,7 +323,7 @@ U32 LLViewerJoint::render( F32 pixelArea, BOOL first_pass ) F32 jointLOD = joint->getLOD(); if (pixelArea >= jointLOD || sDisableLOD) { - triangle_count += joint->render( pixelArea ); + triangle_count += joint->render( pixelArea, TRUE, is_dummy ); if (jointLOD != DEFAULT_LOD) { @@ -404,7 +404,7 @@ BOOL LLViewerJoint::isTransparent() //-------------------------------------------------------------------- // drawShape() //-------------------------------------------------------------------- -U32 LLViewerJoint::drawShape( F32 pixelArea, BOOL first_pass ) +U32 LLViewerJoint::drawShape( F32 pixelArea, BOOL first_pass, BOOL is_dummy ) { return 0; } |