// virtual void QD3D10Widget::resizeEvent( QResizeEvent* e ) { // resize swap chain and back buffer QSize size = e->size(); int width = size.width(); int height = size.height(); // set render targets to null m_pDevice->OMSetRenderTargets( 0, NULL, NULL ); // release the old render target view and make a new one m_pBackBufferRenderTargetView->Release(); m_pBackBuffer->Release(); // resize the swap chain resizeSwapChain( width, height ); // recreate the render targets createBackBufferRenderTargetView(); // resize depth stencil buffer resizeDepthStencilBuffer( width, height ); // point device at new back buffers restoreBackBuffer(); // resize viewport D3D10_VIEWPORT viewport = D3D10Utils::createViewport( width, height ); m_pDevice->RSSetViewports( 1, &viewport ); resizeD3D(width, height); }
void QD3D12Window::resizeEvent(QResizeEvent *event) { Q_UNUSED(event); Q_D(QD3D12Window); if (!isExposed() || size().isEmpty()) return; d->resize(); resizeD3D(size()); paintD3D(); afterPresent(); }