Rendering Engine
0.2.0
Modular Graphics Rendering Engine | v0.2.0
Loading...
Searching...
No Matches
drawable_component.cpp
Go to the documentation of this file.
1
#include "
drawable_component.hpp
"
2
3
#include "
i_renderer.hpp
"
4
#include "
i_render_resources.hpp
"
5
#include "
model_cache.hpp
"
6
#include "
texture_cache.hpp
"
7
#include "
material_cache.hpp
"
8
#include "
material.hpp
"
9
10
namespace
rendering_engine
11
{
12
13
DrawableComponent::DrawableComponent
(
RenderResourceContext
renderContext)
14
:
15
mRenderContext
(renderContext),
16
mMaterial
(nullptr),
17
mMeshData
(nullptr)
18
{
19
mRenderResources
= std::unique_ptr<IRenderResources>(
mRenderContext
.renderer->ProvideRenderResources());
20
}
21
22
void
DrawableComponent::Initialize
()
23
{
24
mMaterial
=
mRenderContext
.materialCache->GetMaterial(
mMaterialName
);
25
mMaterialParameters
=
mMaterial
->PackMaterialParameters();
26
mMeshData
=
mRenderContext
.meshCache->GetMeshResources(
mMeshName
).get();
27
28
mRenderResources
->Initialize(
mMaterial
,
mMeshData
,
mRenderContext
.textureCache);
29
}
30
31
void
DrawableComponent::Shutdown
()
32
{
33
if
(
mRenderResources
)
34
{
35
mRenderResources
->Shutdown();
36
}
37
}
38
39
void
DrawableComponent::SetMaterialName
(
const
std::string& materialName)
40
{
41
mMaterialName
= materialName;
42
}
43
void
DrawableComponent::SetMeshName
(
const
std::string& meshName)
44
{
45
mMeshName
= meshName;
46
}
47
48
}
rendering_engine::DrawableComponent::mRenderContext
RenderResourceContext mRenderContext
Definition
drawable_component.hpp:81
rendering_engine::DrawableComponent::SetMaterialName
void SetMaterialName(const std::string &materialName)
Sets the material to use (by name).
Definition
drawable_component.cpp:39
rendering_engine::DrawableComponent::mMeshName
std::string mMeshName
Definition
drawable_component.hpp:85
rendering_engine::DrawableComponent::mRenderResources
std::unique_ptr< IRenderResources > mRenderResources
Definition
drawable_component.hpp:82
rendering_engine::DrawableComponent::Shutdown
virtual void Shutdown()
Definition
drawable_component.cpp:31
rendering_engine::DrawableComponent::Initialize
virtual void Initialize()
Initializes render resource pointers (material, mesh, etc.). Must be called after setting material an...
Definition
drawable_component.cpp:22
rendering_engine::DrawableComponent::mMaterial
Material * mMaterial
Definition
drawable_component.hpp:87
rendering_engine::DrawableComponent::mMaterialName
std::string mMaterialName
Definition
drawable_component.hpp:84
rendering_engine::DrawableComponent::mMeshData
MeshDataGpu * mMeshData
Definition
drawable_component.hpp:89
rendering_engine::DrawableComponent::SetMeshName
void SetMeshName(const std::string &meshName)
Sets the mesh to use (by name).
Definition
drawable_component.cpp:43
rendering_engine::DrawableComponent::DrawableComponent
DrawableComponent(RenderResourceContext renderContext)
Constructs the DrawableComponent with a resource context.
Definition
drawable_component.cpp:13
rendering_engine::DrawableComponent::mMaterialParameters
PackedMaterialData mMaterialParameters
Definition
drawable_component.hpp:88
drawable_component.hpp
i_render_resources.hpp
i_renderer.hpp
material.hpp
material_cache.hpp
model_cache.hpp
rendering_engine
Definition
actor.hpp:11
rendering_engine::RenderResourceContext
Aggregates pointers to global rendering resource managers.
Definition
render_resource_context.hpp:26
texture_cache.hpp
RenderingEngine
RenderingLibrary
Source
drawable_component.cpp
Generated by
1.14.0