| 189 | EE_ASSERT( m_pRenderSystem != nullptr ); |
| 190 | EE_ASSERT( pRenderWindow != nullptr ); |
| 191 | |
| 192 | Viewport* pViewport = m_pRenderSystem->CreateViewport( pRenderWindow ); |
| 193 | m_viewports.emplace_back( pViewport ); |
| 194 | |
| 195 | #if EE_DEVELOPMENT_TOOLS |
| 196 | pViewport->CreateViewportSettings( *m_pTypeRegistry ); |
| 197 | #endif |
| 198 | |
| 199 | return pViewport; |
| 200 | } |
| 201 | |
| 202 | void EntityWorld::DestroyViewport( Viewport* pViewport ) |
| 203 | { |
| 204 | EE_ASSERT( m_pRenderSystem != nullptr ); |
| 205 | |
| 206 | for ( int32_t i = int32_t( m_viewports.size() ) - 1; i >= 0; i-- ) |
| 207 | { |
| 208 | if ( m_viewports[i] == pViewport ) |
| 209 | { |
| 210 | #if EE_DEVELOPMENT_TOOLS |
| 211 | pViewport->DestroyViewportSettings(); |
| 212 | #endif |
| 213 | |
| 214 | m_pRenderSystem->WaitAllQueuesIdle(); |
no test coverage detected