//----------------------------------------------------------------------------- // postRender() //----------------------------------------------------------------------------- void LLViewerDynamicTexture::postRender(BOOL success) { { if (success) { if(mGLTexturep.isNull()) { generateGLTexture() ; } else if(!mGLTexturep->getHasGLTexture()) { generateGLTexture() ; } else if(mGLTexturep->getDiscardLevel() != 0)//do not know how it happens, but regenerate one if it does. { generateGLTexture() ; } success = mGLTexturep->setSubImageFromFrameBuffer(0, 0, mOrigin.mX, mOrigin.mY, mFullWidth, mFullHeight); } } // restore viewport gViewerWindow->setup2DViewport(); // restore camera LLViewerCamera* camera = LLViewerCamera::getInstance(); camera->setOrigin(mCamera); camera->setAxes(mCamera); camera->setAspect(mCamera.getAspect()); camera->setView(mCamera.getView()); camera->setNear(mCamera.getNear()); }
//----------------------------------------------------------------------------- // postRender() //----------------------------------------------------------------------------- void LLViewerDynamicTexture::postRender(BOOL success) { { if (success) { if(mGLTexturep.isNull()) { generateGLTexture() ; } if(!mGLTexturep->getHasGLTexture()) { generateGLTexture() ; } llcallstacks << "class type: " << (S32)getType() << llcallstacksendl ; success = mGLTexturep->setSubImageFromFrameBuffer(0, 0, mOrigin.mX, mOrigin.mY, mFullWidth, mFullHeight); } } // restore viewport gViewerWindow->setup2DViewport(); // restore camera LLViewerCamera* camera = LLViewerCamera::getInstance(); camera->setOrigin(mCamera); camera->setAxes(mCamera); camera->setAspect(mCamera.getAspect()); camera->setView(mCamera.getView()); camera->setNear(mCamera.getNear()); }