| 180 | } |
| 181 | |
| 182 | void RenderLightBuffer(const SceneRenderTask* task, GPUContext* context, RenderContext& renderContext, GPUTexture* lightBuffer, const GPUTextureDescription& tempDesc) |
| 183 | { |
| 184 | context->ResetRenderTarget(); |
| 185 | auto colorGradingLUT = ColorGradingPass::Instance()->RenderLUT(renderContext); |
| 186 | auto tempBuffer = RenderTargetPool::Get(tempDesc); |
| 187 | RENDER_TARGET_POOL_SET_NAME(tempBuffer, "TempBuffer"); |
| 188 | EyeAdaptationPass::Instance()->Render(renderContext, lightBuffer); |
| 189 | PostProcessingPass::Instance()->Render(renderContext, lightBuffer, tempBuffer, colorGradingLUT); |
| 190 | context->ResetRenderTarget(); |
| 191 | if (renderContext.List->Settings.AntiAliasing.Mode == AntialiasingMode::TemporalAntialiasing) |
| 192 | { |
| 193 | TAA::Instance()->Render(renderContext, tempBuffer, lightBuffer->View()); |
| 194 | Swap(lightBuffer, tempBuffer); |
| 195 | } |
| 196 | RenderTargetPool::Release(lightBuffer); |
| 197 | context->SetRenderTarget(task->GetOutputView()); |
| 198 | context->SetViewportAndScissors(task->GetOutputViewport()); |
| 199 | context->Draw(tempBuffer); |
| 200 | RenderTargetPool::Release(tempBuffer); |
| 201 | } |
| 202 | |
| 203 | bool Renderer::IsReady() |
| 204 | { |
no test coverage detected