Plasma Engine
2.0
Loading...
Searching...
No Matches
PointRenderer.h
1
#pragma once
2
3
#include <ParticlePlugin/ParticlePluginDLL.h>
4
#include <ParticlePlugin/Renderer/ParticleRenderer.h>
5
#include <RendererCore/Pipeline/Declarations.h>
6
#include <RendererCore/Pipeline/RenderData.h>
7
8
#include <RendererCore/../../../Data/Base/Shaders/Particles/BillboardQuadParticleShaderData.h>
9
10
class
PL_PARTICLEPLUGIN_DLL
plParticlePointRenderData
final :
public
plRenderData
11
{
12
PL_ADD_DYNAMIC_REFLECTION(
plParticlePointRenderData
,
plRenderData
);
13
14
public
:
15
plArrayPtr<plBaseParticleShaderData>
m_BaseParticleData;
16
plArrayPtr<plBillboardQuadParticleShaderData>
m_BillboardParticleData;
17
bool
m_bApplyObjectTransform =
true
;
18
plTime
m_TotalEffectLifeTime;
19
};
20
22
class
PL_PARTICLEPLUGIN_DLL
plParticlePointRenderer
final :
public
plParticleRenderer
23
{
24
PL_ADD_DYNAMIC_REFLECTION(
plParticlePointRenderer
,
plParticleRenderer
);
25
PL_DISALLOW_COPY_AND_ASSIGN(
plParticlePointRenderer
);
26
27
public
:
28
plParticlePointRenderer
();
29
~plParticlePointRenderer
();
30
31
virtual
void
GetSupportedRenderDataTypes(
plHybridArray<const plRTTI*, 8>
& ref_types)
const override
;
32
virtual
void
RenderBatch(
33
const
plRenderViewContext
& renderContext,
const
plRenderPipelinePass
* pPass,
const
plRenderDataBatch
& batch)
const override
;
34
35
protected
:
36
static
const
plUInt32 s_uiParticlesPerBatch = 1024;
37
plGALBufferHandle
m_hBaseDataBuffer;
38
plGALBufferHandle
m_hBillboardDataBuffer;
39
};
plArrayPtr
This class encapsulates an array and it's size. It is recommended to use this class instead of plain ...
Definition
ArrayPtr.h:37
plGALBufferHandle
Definition
RendererFoundationDLL.h:418
plHybridArray
A hybrid array uses in-place storage to handle the first few elements without any allocation....
Definition
HybridArray.h:12
plParticlePointRenderData
Definition
PointRenderer.h:11
plParticlePointRenderer
Implements rendering of particle systems.
Definition
PointRenderer.h:23
plParticleRenderer
Implements rendering of particle systems.
Definition
ParticleRenderer.h:16
plRenderDataBatch
Definition
RenderDataBatch.h:6
plRenderData
Base class for all render data. Render data must contain all information that is needed to render the...
Definition
RenderData.h:14
plRenderPipelinePass
Definition
RenderPipelinePass.h:26
plRenderViewContext
Definition
Declarations.h:51
plTime
The time class encapsulates a double value storing the time in seconds.
Definition
Time.h:12
Code
EnginePlugins
ParticlePlugin
Type
Point
PointRenderer.h
Generated by
1.11.0