1#include "ExtensionRegistry.h"
3#include "Renderer/Renderer.h"
4#include "Renderer/RenderStates.h"
5#include "Renderer/RenderTarget.h"
7#include "HighlightRegionSystem.h"
8#include "HighlightRegionRenderer.h"
9#include "HighlightRegionRenderTask.h"
12void Cogs::Core::HighlightRegionRenderTask::apply(RenderTaskContext* renderContext)
14 RenderTarget* renderTarget = output.get(RenderResourceType::RenderTarget)->renderTarget;
15 if (!renderTarget)
return;
17 RenderList* renderList = input.get(RenderResourceType::RenderList)->renderList;
18 if (!renderList)
return;
20 RenderTexture* colorTexture =
nullptr;
21 if (RenderTaskResource* resource = input.get(RenderResourceType::RenderTexture,
"Color"); resource) colorTexture = resource->renderTexure;
22 if (!colorTexture)
return;
24 RenderTexture* depthTexture =
nullptr;
25 if (RenderTaskResource* resource = input.get(RenderResourceType::RenderTexture,
"Depth"); resource) depthTexture = resource->renderTexure;
26 if (!depthTexture)
return;
28 HighlightRegionSystem* hrSystem = ExtensionRegistry::getExtensionSystem<HighlightRegionSystem>(renderContext->context);
29 if (!hrSystem || !hrSystem->renderer)
return;
31 hrSystem->renderer->render(renderContext, renderTarget, renderList, colorTexture, depthTexture);