Plasma Engine  2.0
Loading...
Searching...
No Matches
BakedProbesWorldModule.h
1#pragma once
2
3#include <Core/Graphics/AmbientCubeBasis.h>
4#include <Core/World/WorldModule.h>
5#include <RendererCore/Declarations.h>
6
8
9class PL_RENDERERCORE_DLL plBakedProbesWorldModule : public plWorldModule
10{
11 PL_DECLARE_WORLD_MODULE();
12 PL_ADD_DYNAMIC_REFLECTION(plBakedProbesWorldModule, plWorldModule);
13
14public:
17
18 virtual void Initialize() override;
19 virtual void Deinitialize() override;
20
21 bool HasProbeData() const;
22
24 {
25 static constexpr plUInt32 NumProbes = 8;
26 plUInt32 m_probeIndices[NumProbes];
27 float m_probeWeights[NumProbes];
28 };
29
30 plResult GetProbeIndexData(const plVec3& vGlobalPosition, const plVec3& vNormal, ProbeIndexData& out_probeIndexData) const;
31
32 plAmbientCube<float> GetSkyVisibility(const ProbeIndexData& indexData) const;
33
34private:
35 friend class plBakedProbesComponent;
36
37 void SetProbeTreeResourcePrefix(const plHashedString& prefix);
38
40};
Definition BakedProbesComponent.h:34
Definition BakedProbesWorldModule.h:10
This class is optimized to take nearly no memory (sizeof(void*)) and to allow very fast checks whethe...
Definition HashedString.h:25
A world encapsulates a scene graph of game objects and various component managers and their component...
Definition World.h:22
Definition WorldModule.h:10
virtual void Initialize()
This method is called after the constructor. A derived type can override this method to do initializa...
Definition WorldModule.h:98
virtual void Deinitialize()
This method is called before the destructor. A derived type can override this method to do deinitiali...
Definition WorldModule.h:101
Definition AmbientCubeBasis.h:27
Definition BakedProbesWorldModule.h:24
Default enum for returning failure or success, instead of using a bool.
Definition Types.h:54