MCPcopy Create free account
hub / github.com/TheRealMJP/BakingLab / Render

Method Render

BakingLab/BakingLab.cpp:588–641  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

586}
587
588void BakingLab::Render(const Timer& timer)
589{
590 if(AppSettings::MSAAMode.Changed())
591 CreateRenderTargets();
592
593 ID3D11DeviceContextPtr context = deviceManager.ImmediateContext();
594
595 MeshBakerStatus status = meshBaker.Update(unJitteredCamera, colorTargetMSAA.Width, colorTargetMSAA.Height,
596 context, &sceneModels[AppSettings::CurrentScene]);
597
598 if(AppSettings::ShowGroundTruth)
599 {
600 ID3D11RenderTargetView* rtvs[1] = { colorTargetMSAA.RTView };
601 context->OMSetRenderTargets(1, rtvs, nullptr);
602
603 SetViewport(context, colorTargetMSAA.Width, colorTargetMSAA.Height);
604
605 spriteRenderer.Begin(context, SpriteRenderer::Point, SpriteRenderer::OpaqueBlend);
606 spriteRenderer.Render(status.GroundTruth, Float4x4());
607 spriteRenderer.End();
608
609 rtvs[0] = nullptr;
610 context->OMSetRenderTargets(1, rtvs, nullptr);
611
612 float clearColor[4] = { 0.0f, 0.0f, 0.0f, 0.0f };
613 context->ClearRenderTargetView(velocityTargetMSAA.RTView, clearColor);
614 }
615 else
616 {
617 RenderMainPass(status);
618 RenderBackgroundVelocity();
619 }
620
621 RenderAA();
622
623 if(AppSettings::SaveEXRScreenshot)
624 SaveEXRScreenshot(window.GetHwnd(), colorResolveTarget.SRView);
625
626 {
627 // Kick off post-processing
628 PIXEvent ppEvent(L"Post Processing");
629 postProcessor.Render(context, colorResolveTarget.SRView, depthBuffer.SRView, camera,
630 deviceManager.BackBuffer(), timer.DeltaSecondsF());
631 }
632
633 ID3D11RenderTargetView* renderTargets[1] = { deviceManager.BackBuffer() };
634 context->OMSetRenderTargets(1, renderTargets, NULL);
635
636 SetViewport(context, deviceManager.BackBufferWidth(), deviceManager.BackBufferHeight());
637
638 RenderHUD(timer, status.GroundTruthProgress, status.BakeProgress, status.GroundTruthSampleCount);
639
640 ++frameCount;
641}
642
643void BakingLab::RenderMainPass(const MeshBakerStatus& status)
644{

Callers

nothing calls this directly

Calls 13

SetViewportFunction · 0.85
Float4x4Class · 0.85
SaveEXRScreenshotFunction · 0.85
ChangedMethod · 0.80
ImmediateContextMethod · 0.80
BeginMethod · 0.80
EndMethod · 0.80
GetHwndMethod · 0.80
BackBufferMethod · 0.80
DeltaSecondsFMethod · 0.80
BackBufferWidthMethod · 0.80
BackBufferHeightMethod · 0.80

Tested by

no test coverage detected