long D3DWrapper::EndRender( CRect& SrcRect, CRect& DestRect ) { // End the scene m_pD3dDevice->EndScene(); RECT src; RECT dest; // Present the backbuffer contents to the display if( SrcRect.IsValid() && DestRect.IsValid() ) { src = SrcRect.GetRect(); dest = DestRect.GetRect(); m_pD3dDevice->Present( &src, &dest, NULL, NULL ); } else if( false == SrcRect.IsValid() && DestRect.IsValid() ) { dest = DestRect.GetRect(); m_pD3dDevice->Present( NULL, &dest, NULL, NULL ); } else if( SrcRect.IsValid() && false == DestRect.IsValid() ) { src = SrcRect.GetRect(); m_pD3dDevice->Present( &src, NULL, NULL, NULL ); } else { m_pD3dDevice->Present( NULL, NULL, NULL, NULL ); } return TRUE; }