Пример #1
0
    RenderTarget::~RenderTarget()
    {
        // make a copy of the list to avoid crashes, the viewport destructor change the list
        ViewportList vlist = mViewportList;
        
        // Delete viewports
        for (ViewportList::iterator i = vlist.begin();
            i != vlist.end(); ++i)
        {
            fireViewportRemoved(i->second);
            OGRE_DELETE (*i).second;
        }

        //DepthBuffer keeps track of us, avoid a dangling pointer
        detachDepthBuffer();


        // Write closing message
        LogManager::getSingleton().stream(LML_TRIVIAL)
            << "Render Target '" << mName << "' "
            << "Average FPS: " << mStats.avgFPS << " "
            << "Best FPS: " << mStats.bestFPS << " "
            << "Worst FPS: " << mStats.worstFPS; 

    }
Пример #2
0
 //-----------------------------------------------------------------------
 void RenderTarget::setDepthBufferPool( uint16 poolId )
 {
     if( mDepthBufferPoolId != poolId )
     {
         mDepthBufferPoolId = poolId;
         detachDepthBuffer();
     }
 }
Пример #3
0
    //-----------------------------------------------------------------------
    bool RenderTarget::attachDepthBuffer( DepthBuffer *depthBuffer )
    {
        bool retVal = false;

        if( (retVal = depthBuffer->isCompatible( this )) )
        {
            detachDepthBuffer();
            mDepthBuffer = depthBuffer;
            mDepthBuffer->_notifyRenderTargetAttached( this );
        }

        return retVal;
    }
Пример #4
0
//---------------------------------------------------------------------
void D3D11RenderWindowBase::_destroySizeDependedD3DResources()
{
    SAFE_RELEASE(mpBackBuffer);
    SAFE_RELEASE(mRenderTargetView);

    // delete manual depth buffer (depth buffer view non-owning wrapper)
    DepthBuffer* depthBuf = this->getDepthBuffer();
    detachDepthBuffer();
    D3D11RenderSystem* rsys = static_cast<D3D11RenderSystem*>(Root::getSingleton().getRenderSystem());
    rsys->_removeManualDepthBuffer(depthBuf);
    delete depthBuf;

    SAFE_RELEASE(mDepthStencilView);
}