Plasma Engine  2.0
Loading...
Searching...
No Matches
LensFlareRenderer.h
1#pragma once
2
3#include <Core/ResourceManager/ResourceHandle.h>
4#include <RendererCore/Pipeline/Renderer.h>
5
6struct plPerLensFlareData;
9
11class PL_RENDERERCORE_DLL plLensFlareRenderer : public plRenderer
12{
13 PL_ADD_DYNAMIC_REFLECTION(plLensFlareRenderer, plRenderer);
14 PL_DISALLOW_COPY_AND_ASSIGN(plLensFlareRenderer);
15
16public:
19
20 // plRenderer implementation
21 virtual void GetSupportedRenderDataTypes(plHybridArray<const plRTTI*, 8>& ref_types) const override;
22 virtual void GetSupportedRenderDataCategories(plHybridArray<plRenderData::Category, 8>& ref_categories) const override;
23 virtual void RenderBatch(
24 const plRenderViewContext& renderContext, const plRenderPipelinePass* pPass, const plRenderDataBatch& batch) const override;
25
26protected:
27 plGALBufferHandle CreateLensFlareDataBuffer(plUInt32 uiBufferSize) const;
28 void DeleteLensFlareDataBuffer(plGALBufferHandle hBuffer) const;
29 virtual void FillLensFlareData(const plRenderDataBatch& batch) const;
30
31 plShaderResourceHandle m_hShader;
33};
Definition DynamicArray.h:81
Definition RendererFoundationDLL.h:418
A hybrid array uses in-place storage to handle the first few elements without any allocation....
Definition HybridArray.h:12
Implements rendering of lens flares.
Definition LensFlareRenderer.h:12
Definition RenderDataBatch.h:6
Definition RenderPipelinePass.h:26
This is the base class for types that handle rendering of different object types.
Definition Renderer.h:9
Definition Declarations.h:51