Plasma Engine
2.0
Loading...
Searching...
No Matches
MeshRenderer.h
1
#pragma once
2
3
#include <RendererCore/Pipeline/Renderer.h>
4
5
class
plMeshRenderData
;
6
struct
plPerInstanceData;
7
9
class
PL_RENDERERCORE_DLL
plMeshRenderer
:
public
plRenderer
10
{
11
PL_ADD_DYNAMIC_REFLECTION(
plMeshRenderer
,
plRenderer
);
12
PL_DISALLOW_COPY_AND_ASSIGN(
plMeshRenderer
);
13
14
public
:
15
plMeshRenderer
();
16
~plMeshRenderer
();
17
18
// plRenderer implementation
19
virtual
void
GetSupportedRenderDataTypes(
plHybridArray<const plRTTI*, 8>
& ref_types)
const override
;
20
virtual
void
GetSupportedRenderDataCategories(
plHybridArray<plRenderData::Category, 8>
& ref_categories)
const override
;
21
virtual
void
RenderBatch(
22
const
plRenderViewContext
& renderContext,
const
plRenderPipelinePass
* pPass,
const
plRenderDataBatch
& batch)
const override
;
23
24
protected
:
25
virtual
void
SetAdditionalData(
const
plRenderViewContext
& renderViewContext,
const
plMeshRenderData
* pRenderData)
const
;
26
virtual
void
FillPerInstanceData(
27
plArrayPtr<plPerInstanceData>
instanceData,
const
plRenderDataBatch
& batch, plUInt32 uiStartIndex, plUInt32& out_uiFilteredCount)
const
;
28
};
plArrayPtr
This class encapsulates an array and it's size. It is recommended to use this class instead of plain ...
Definition
ArrayPtr.h:37
plHybridArray
A hybrid array uses in-place storage to handle the first few elements without any allocation....
Definition
HybridArray.h:12
plMeshRenderData
Definition
MeshComponentBase.h:13
plMeshRenderer
Implements rendering of static meshes.
Definition
MeshRenderer.h:10
plRenderDataBatch
Definition
RenderDataBatch.h:6
plRenderPipelinePass
Definition
RenderPipelinePass.h:26
plRenderer
This is the base class for types that handle rendering of different object types.
Definition
Renderer.h:9
plRenderViewContext
Definition
Declarations.h:51
Code
Engine
RendererCore
Meshes
MeshRenderer.h
Generated by
1.11.0