Plasma Engine  2.0
Loading...
Searching...
No Matches
RenderPipelineResource.h
1#pragma once
2
3#include <Core/ResourceManager/Resource.h>
4#include <Core/ResourceManager/ResourceTypeLoader.h>
5#include <Foundation/Containers/HashTable.h>
6#include <RendererCore/RendererCoreDLL.h>
7
10
12{
13 void Clear() {}
14
15 void CreateFromRenderPipeline(const plRenderPipeline* pPipeline);
16
17 plDynamicArray<plUInt8> m_SerializedPipeline;
18 plString m_sPath;
19};
20
21class PL_RENDERERCORE_DLL plRenderPipelineResource : public plResource
22{
23 PL_ADD_DYNAMIC_REFLECTION(plRenderPipelineResource, plResource);
24 PL_RESOURCE_DECLARE_COMMON_CODE(plRenderPipelineResource);
25 PL_RESOURCE_DECLARE_CREATEABLE(plRenderPipelineResource, plRenderPipelineResourceDescriptor);
26
27public:
29
30 PL_ALWAYS_INLINE const plRenderPipelineResourceDescriptor& GetDescriptor() { return m_Desc; }
31
32 plInternal::NewInstance<plRenderPipeline> CreateRenderPipeline() const;
33
34public:
35 static plRenderPipelineResourceHandle CreateMissingPipeline();
36
37private:
38 virtual plResourceLoadDesc UnloadData(Unload WhatToUnload) override;
39 virtual plResourceLoadDesc UpdateContent(plStreamReader* Stream) override;
40 virtual void UpdateMemoryUsage(MemoryUsage& out_NewMemoryUsage) override;
41
42private:
44};
Definition DynamicArray.h:81
Definition RenderPipeline.h:20
Definition RenderPipelineResource.h:22
The base class for all resources.
Definition Resource.h:10
virtual plResourceLoadDesc UnloadData(Unload WhatToUnload)=0
Requests the resource to unload another quality level. If bFullUnload is true, the resource should un...
virtual plResourceLoadDesc UpdateContent(plStreamReader *pStream)=0
Called whenever more data for the resource is available. The resource must read the stream to update ...
virtual void UpdateMemoryUsage(MemoryUsage &out_NewMemoryUsage)=0
This function must be overridden by all resource types.
Interface for binary in (read) streams.
Definition Stream.h:22
Definition Allocator_inl.h:18
Definition RenderPipelineResource.h:12
Definition Resource.h:34
Describes in which loading state a resource currently is, and how many different quality levels there...
Definition Declarations.h:102