Plasma Engine
2.0
Loading...
Searching...
No Matches
ClusteredDataProvider.h
1
#pragma once
2
3
#include <RendererCore/Declarations.h>
4
#include <RendererCore/Pipeline/FrameDataProvider.h>
5
#include <RendererCore/Shader/ConstantBufferStorage.h>
6
7
struct
PL_RENDERERCORE_DLL
plClusteredDataGPU
8
{
9
PL_DISALLOW_COPY_AND_ASSIGN(
plClusteredDataGPU
);
10
11
public
:
12
plClusteredDataGPU
();
13
~plClusteredDataGPU
();
14
15
plUInt32 m_uiSkyIrradianceIndex = 0;
16
plEnum<plCameraUsageHint>
m_cameraUsageHint = plCameraUsageHint::Default;
17
18
plGALBufferHandle
m_hLightDataBuffer;
19
plGALBufferHandle
m_hDecalDataBuffer;
20
plGALBufferHandle
m_hReflectionProbeDataBuffer;
21
plGALBufferHandle
m_hClusterDataBuffer;
22
plGALBufferHandle
m_hClusterItemBuffer;
23
24
plConstantBufferStorageHandle
m_hConstantBuffer;
25
26
plGALSamplerStateHandle
m_hShadowSampler;
27
28
plDecalAtlasResourceHandle
m_hDecalAtlas;
29
plGALSamplerStateHandle
m_hDecalAtlasSampler;
30
31
void
BindResources(
plRenderContext
* pRenderContext);
32
};
33
34
class
PL_RENDERERCORE_DLL
plClusteredDataProvider
:
public
plFrameDataProvider
<plClusteredDataGPU>
35
{
36
PL_ADD_DYNAMIC_REFLECTION(
plClusteredDataProvider
,
plFrameDataProviderBase
);
37
38
public
:
39
plClusteredDataProvider
();
40
~plClusteredDataProvider
();
41
42
private
:
43
virtual
void
* UpdateData(
const
plRenderViewContext
& renderViewContext,
const
plExtractedRenderData
& extractedData)
override
;
44
45
plClusteredDataGPU
m_Data;
46
};
plClusteredDataProvider
Definition
ClusteredDataProvider.h:35
plConstantBufferStorageHandle
Definition
ConstantBufferStorage.h:54
plExtractedRenderData
Definition
ExtractedRenderData.h:10
plFrameDataProviderBase
Definition
FrameDataProvider.h:6
plFrameDataProvider
Definition
FrameDataProvider.h:26
plGALBufferHandle
Definition
RendererFoundationDLL.h:418
plGALSamplerStateHandle
Definition
RendererFoundationDLL.h:481
plRenderContext
Definition
RenderContext.h:30
plTypedResourceHandle< class plDecalAtlasResource >
plClusteredDataGPU
Definition
ClusteredDataProvider.h:8
plEnum
A custom enum implementation that allows to define the underlying storage type to control its memory ...
Definition
Enum.h:37
plRenderViewContext
Definition
Declarations.h:51
Code
Engine
RendererCore
Lights
ClusteredDataProvider.h
Generated by
1.11.0