Plasma Engine  2.0
Loading...
Searching...
No Matches
ReflectionProbeComponentBase.h
1#pragma once
2
3#include <Core/World/Component.h>
4#include <RendererCore/Lights/Implementation/ReflectionProbeData.h>
5
10
12class PL_RENDERERCORE_DLL plReflectionProbeComponentBase : public plComponent
13{
14 PL_ADD_DYNAMIC_REFLECTION(plReflectionProbeComponentBase, plComponent);
15
16public:
19
20 void SetReflectionProbeMode(plEnum<plReflectionProbeMode> mode); // [ property ]
21 plEnum<plReflectionProbeMode> GetReflectionProbeMode() const; // [ property ]
22
23 const plTagSet& GetIncludeTags() const; // [ property ]
24 void InsertIncludeTag(const char* szTag); // [ property ]
25 void RemoveIncludeTag(const char* szTag); // [ property ]
26
27 const plTagSet& GetExcludeTags() const; // [ property ]
28 void InsertExcludeTag(const char* szTag); // [ property ]
29 void RemoveExcludeTag(const char* szTag); // [ property ]
30
31 float GetNearPlane() const { return m_Desc.m_fNearPlane; } // [ property ]
32 void SetNearPlane(float fNearPlane); // [ property ]
33
34 float GetFarPlane() const { return m_Desc.m_fFarPlane; } // [ property ]
35 void SetFarPlane(float fFarPlane); // [ property ]
36
37 const plVec3& GetCaptureOffset() const { return m_Desc.m_vCaptureOffset; } // [ property ]
38 void SetCaptureOffset(const plVec3& vOffset); // [ property ]
39
40 void SetShowDebugInfo(bool bShowDebugInfo); // [ property ]
41 bool GetShowDebugInfo() const; // [ property ]
42
43 void SetShowMipMaps(bool bShowMipMaps); // [ property ]
44 bool GetShowMipMaps() const; // [ property ]
45
47 // plComponent
48
49public:
50 virtual void SerializeComponent(plWorldWriter& inout_stream) const override;
51 virtual void DeserializeComponent(plWorldReader& inout_stream) override;
52
53protected:
54 float ComputePriority(plMsgExtractRenderData& msg, plReflectionProbeRenderData* pRenderData, float fVolume, const plVec3& vScale) const;
55
56protected:
58
60 // Set to true if a change was made that requires recomputing the cube map.
61 mutable bool m_bStatesDirty = true;
62};
Definition AbstractObjectGraph.h:17
Base class of all component types.
Definition Component.h:25
virtual void SerializeComponent(plWorldWriter &inout_stream) const
Override this to save the current state of the component to the given stream.
Definition Component.cpp:54
virtual void DeserializeComponent(plWorldReader &inout_stream)
Override this to load the current state of the component from the given stream.
Definition Component.cpp:58
Base class for all reflection probes.
Definition ReflectionProbeComponentBase.h:13
Render data for a reflection probe.
Definition ReflectionProbeData.h:54
A dynamic collection of tags featuring fast lookups.
Definition TagSet.h:23
Reads a world description from a stream. Allows to instantiate that world multiple times in different...
Definition WorldReader.h:47
Stores an entire plWorld in a stream.
Definition WorldWriter.h:13
A custom enum implementation that allows to define the underlying storage type to control its memory ...
Definition Enum.h:37
Definition RenderData.h:116
Definition TransformChangedMessage.h:7
Definition UpdateLocalBoundsMessage.h:9
Describes how a cube map should be generated.
Definition ReflectionProbeData.h:24