diff options
Diffstat (limited to 'indra/newview/llfloaterimagepreview.cpp')
-rw-r--r-- | indra/newview/llfloaterimagepreview.cpp | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/indra/newview/llfloaterimagepreview.cpp b/indra/newview/llfloaterimagepreview.cpp index 1ae6decfdd..2e77bbcfbd 100644 --- a/indra/newview/llfloaterimagepreview.cpp +++ b/indra/newview/llfloaterimagepreview.cpp @@ -535,7 +535,7 @@ LLImagePreviewAvatar::LLImagePreviewAvatar(S32 width, S32 height) : LLDynamicTex mDummyAvatar->slamPosition(); mDummyAvatar->updateJointLODs(); mDummyAvatar->updateGeometry(mDummyAvatar->mDrawable); - gPipeline.markVisible(mDummyAvatar->mDrawable); + gPipeline.markVisible(mDummyAvatar->mDrawable, *gCamera); mTextureName = 0; } @@ -623,6 +623,10 @@ BOOL LLImagePreviewAvatar::render() gCamera->setView(gCamera->getDefaultFOV() / mCameraZoom); gCamera->setPerspective(FALSE, mOrigin.mX, mOrigin.mY, mWidth, mHeight, FALSE); + LLVertexBuffer::stopRender(); + avatarp->updateLOD(); + LLVertexBuffer::startRender(); + if (avatarp->mDrawable.notNull()) { LLGLDepthTest gls_depth(GL_TRUE, GL_TRUE); @@ -631,13 +635,7 @@ BOOL LLImagePreviewAvatar::render() LLDrawPoolAvatar *avatarPoolp = (LLDrawPoolAvatar *)avatarp->mDrawable->getFace(0)->getPool(); - gPipeline.unbindAGP(); - avatarPoolp->syncAGP(); - if (avatarPoolp->canUseAGP() && gPipeline.usingAGP()) - { - gPipeline.bindAGP(); - } - avatarPoolp->renderAvatars(avatarp, TRUE); // renders only one avatar (no shaders) + avatarPoolp->renderAvatars(avatarp); // renders only one avatar } return TRUE; |