Plasma Engine
2.0
Loading...
Searching...
No Matches
KrautRenderer.h
1
#pragma once
2
3
#include <KrautPlugin/Renderer/KrautRenderData.h>
4
#include <RendererCore/Pipeline/Renderer.h>
5
#include <RendererCore/Shader/ConstantBufferStorage.h>
6
7
#include <RendererCore/../../../Data/Plugins/Kraut/TreeShaderData.h>
8
9
struct
plPerInstanceData;
10
12
class
PL_KRAUTPLUGIN_DLL
plKrautRenderer
:
public
plRenderer
13
{
14
PL_ADD_DYNAMIC_REFLECTION(
plKrautRenderer
,
plRenderer
);
15
PL_DISALLOW_COPY_AND_ASSIGN(
plKrautRenderer
);
16
17
public
:
18
plKrautRenderer
();
19
~plKrautRenderer
();
20
21
// plRenderer implementation
22
virtual
void
GetSupportedRenderDataTypes(
plHybridArray<const plRTTI*, 8>
& ref_types)
const override
;
23
virtual
void
GetSupportedRenderDataCategories(
plHybridArray<plRenderData::Category, 8>
& ref_categories)
const override
;
24
virtual
void
RenderBatch(
const
plRenderViewContext
& renderContext,
const
plRenderPipelinePass
* pPass,
const
plRenderDataBatch
& batch)
const override
;
25
26
protected
:
27
virtual
void
FillPerInstanceData(
const
plVec3
& vLodCamPos,
plArrayPtr<plPerInstanceData>
instanceData,
const
plRenderDataBatch
& batch,
bool
bIsShadowView, plUInt32 uiStartIndex, plUInt32& out_uiFilteredCount)
const
;
28
29
struct
TempTreeCB
30
{
31
TempTreeCB
(
plRenderContext
* pRenderContext);
32
~TempTreeCB
();
33
34
void
SetTreeData(
const
plVec3
& vTreeCenter,
float
fLeafShadowOffset);
35
36
plConstantBufferStorage<plKrautTreeConstants>
* m_pConstants;
37
plConstantBufferStorageHandle
m_hConstantBuffer;
38
};
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
plConstantBufferStorageHandle
Definition
ConstantBufferStorage.h:54
plConstantBufferStorage
Definition
ConstantBufferStorage.h:34
plHybridArray
A hybrid array uses in-place storage to handle the first few elements without any allocation....
Definition
HybridArray.h:12
plKrautRenderer
Implements rendering of static meshes.
Definition
KrautRenderer.h:13
plRenderContext
Definition
RenderContext.h:30
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
plVec3Template< float >
plKrautRenderer::TempTreeCB
Definition
KrautRenderer.h:30
plRenderViewContext
Definition
Declarations.h:51
Code
EnginePlugins
KrautPlugin
Renderer
KrautRenderer.h
Generated by
1.11.0