Plasma Engine  2.0
Loading...
Searching...
No Matches
ProbeTreeSectorResource.h
1#pragma once
2
3#include <Core/Graphics/AmbientCubeBasis.h>
4#include <Core/ResourceManager/Resource.h>
5#include <RendererCore/BakedProbes/BakingUtils.h>
6
8
9struct PL_RENDERERCORE_DLL plProbeTreeSectorResourceDescriptor
10{
11 PL_DISALLOW_COPY_AND_ASSIGN(plProbeTreeSectorResourceDescriptor);
12
16
17 plVec3 m_vGridOrigin;
18 plVec3 m_vProbeSpacing;
19 plVec3U32 m_vProbeCount;
20
21 plDynamicArray<plVec3> m_ProbePositions;
23
24 void Clear();
25 plUInt64 GetHeapMemoryUsage() const;
26
27 plResult Serialize(plStreamWriter& inout_stream) const;
28 plResult Deserialize(plStreamReader& inout_stream);
29};
30
31class PL_RENDERERCORE_DLL plProbeTreeSectorResource : public plResource
32{
33 PL_ADD_DYNAMIC_REFLECTION(plProbeTreeSectorResource, plResource);
34 PL_RESOURCE_DECLARE_COMMON_CODE(plProbeTreeSectorResource);
36
37public:
40
41 const plVec3& GetGridOrigin() const { return m_Desc.m_vGridOrigin; }
42 const plVec3& GetProbeSpacing() const { return m_Desc.m_vProbeSpacing; }
43 const plVec3U32& GetProbeCount() const { return m_Desc.m_vProbeCount; }
44
45 plArrayPtr<const plVec3> GetProbePositions() const { return m_Desc.m_ProbePositions; }
46 plArrayPtr<const plCompressedSkyVisibility> GetSkyVisibility() const { return m_Desc.m_SkyVisibility; }
47
48private:
49 virtual plResourceLoadDesc UnloadData(Unload WhatToUnload) override;
50 virtual plResourceLoadDesc UpdateContent(plStreamReader* Stream) override;
51 virtual void UpdateMemoryUsage(MemoryUsage& out_NewMemoryUsage) override;
52
53private:
55};
This class encapsulates an array and it's size. It is recommended to use this class instead of plain ...
Definition ArrayPtr.h:37
Definition DynamicArray.h:81
Definition ProbeTreeSectorResource.h:32
The base class for all resources.
Definition Resource.h:10
Interface for binary in (read) streams.
Definition Stream.h:22
Interface for binary out (write) streams.
Definition Stream.h:107
Definition ProbeTreeSectorResource.h:10
Definition Resource.h:34
Describes in which loading state a resource currently is, and how many different quality levels there...
Definition Declarations.h:102
Default enum for returning failure or success, instead of using a bool.
Definition Types.h:54