MCPcopy Create free account
hub / github.com/TombEngine/TombEngine / RenderFreezeMode

Method RenderFreezeMode

TombEngine/Renderer/RendererDrawMenu.cpp:1374–1427  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1372 }
1373
1374 void Renderer::RenderFreezeMode(float interpFactor, bool staticBackground)
1375 {
1376 if (staticBackground)
1377 {
1378 // Set basic render states.
1379 SetBlendMode(BlendMode::Opaque);
1380 SetCullMode(CullMode::CounterClockwise);
1381
1382 // Clear screen.
1383 _context->ClearRenderTargetView(_renderTarget.RenderTargetView.Get(), Colors::Black);
1384 _context->ClearRenderTargetView(_emissiveAndRoughnessRenderTarget.RenderTargetView.Get(), Colors::Transparent);
1385 _context->ClearDepthStencilView(_renderTarget.DepthStencilView.Get(), D3D11_CLEAR_STENCIL | D3D11_CLEAR_DEPTH, 1.0f, 0);
1386
1387 // Bind and clear render target.
1388 ID3D11RenderTargetView* pRenderViewPtrs[2];
1389 pRenderViewPtrs[0] = _renderTarget.RenderTargetView.Get();
1390 pRenderViewPtrs[1] = _emissiveAndRoughnessRenderTarget.RenderTargetView.Get();
1391
1392 // Bind render target.
1393 _context->OMSetRenderTargets(2, &pRenderViewPtrs[0], _renderTarget.DepthStencilView.Get());
1394 _context->RSSetViewports(1, &_viewport);
1395 ResetScissor();
1396
1397 // Draw full screen background.
1398 DrawFullScreenQuad(_dumpScreenRenderTarget.ShaderResourceView.Get(), Vector3::One);
1399 }
1400 else
1401 {
1402 InterpolateCamera(interpFactor);
1403 RenderScene(&_backBuffer, _gameCamera, SceneRenderMode::NoHud);
1404 }
1405
1406 // Draw display sprites sorted by priority.
1407 CollectDisplaySprites(_gameCamera);
1408 DrawDisplaySprites(_gameCamera, false);
1409 DrawDisplayItems();
1410 DrawDisplaySprites(_gameCamera, true);
1411 DrawAllStrings();
1412
1413 if (staticBackground)
1414 {
1415 BindConstantBufferVS(ConstantBufferRegister::PostProcess, _cbPostProcessBuffer.get());
1416 BindConstantBufferPS(ConstantBufferRegister::PostProcess, _cbPostProcessBuffer.get());
1417
1418 ApplyGlow(&_renderTarget, _gameCamera);
1419 ApplyAntialiasing(&_renderTarget, _gameCamera);
1420 CopyRenderTarget(&_renderTarget, &_backBuffer, _gameCamera);
1421 }
1422
1423 ClearScene();
1424
1425 _context->ClearState();
1426 _swapChain->Present(1, 0);
1427 }
1428
1429 void Renderer::RenderLoadingScreen(float percentage)
1430 {

Callers 1

DrawPhaseFunction · 0.80

Calls 2

GetMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected