Plasma Engine
2.0
Loading...
Searching...
No Matches
RmlUiRenderer.h
1
#pragma once
2
3
#include <RmlUiPlugin/RmlUiPluginDLL.h>
4
5
#include <RendererCore/Meshes/MeshBufferResource.h>
6
#include <RendererCore/Pipeline/Renderer.h>
7
8
using
plShaderResourceHandle
=
plTypedResourceHandle<class plShaderResource>
;
9
10
class
PL_RMLUIPLUGIN_DLL
plRmlUiRenderer
:
public
plRenderer
11
{
12
PL_ADD_DYNAMIC_REFLECTION(
plRmlUiRenderer
,
plRenderer
);
13
PL_DISALLOW_COPY_AND_ASSIGN(
plRmlUiRenderer
);
14
15
public
:
16
plRmlUiRenderer
();
17
~plRmlUiRenderer
();
18
19
// plRenderer implementation
20
virtual
void
GetSupportedRenderDataTypes(
plHybridArray<const plRTTI*, 8>
& ref_types)
const override
;
21
virtual
void
GetSupportedRenderDataCategories(
plHybridArray<plRenderData::Category, 8>
& ref_categories)
const override
;
22
23
virtual
void
RenderBatch(
24
const
plRenderViewContext
& renderViewContext,
const
plRenderPipelinePass
* pPass,
const
plRenderDataBatch
& batch)
const override
;
25
26
private
:
27
void
SetScissorRect(
const
plRenderViewContext
& renderViewContext,
const
plRectFloat
& rect,
bool
bEnable,
bool
bTransformRect)
const
;
28
void
PrepareStencil(
const
plRenderViewContext
& renderViewContext,
const
plRectFloat
& rect)
const
;
29
30
plShaderResourceHandle
m_hShader;
31
plConstantBufferStorageHandle
m_hConstantBuffer;
32
33
plGALBufferHandle
m_hQuadIndexBuffer;
34
35
plVertexDeclarationInfo
m_VertexDeclarationInfo;
36
37
mutable
plMat4
m_mLastTransform =
plMat4::MakeIdentity
();
38
mutable
plRectFloat
m_LastRect =
plRectFloat
(0, 0);
39
};
plConstantBufferStorageHandle
Definition
ConstantBufferStorage.h:54
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
plMat4Template< float >
plMat4Template< float >::MakeIdentity
static plMat4Template< float > MakeIdentity()
Definition
Mat4_inl.h:75
plRectTemplate< float >
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
plRmlUiRenderer
Definition
RmlUiRenderer.h:11
plTypedResourceHandle< class plShaderResource >
plRenderViewContext
Definition
Declarations.h:51
plVertexDeclarationInfo
Definition
MeshBufferResource.h:24
Code
EnginePlugins
RmlUiPlugin
Implementation
RmlUiRenderer.h
Generated by
1.11.0