Plasma Engine  2.0
Loading...
Searching...
No Matches
TextureLoader.h
1#pragma once
2
3#include <Core/ResourceManager/Resource.h>
4#include <Core/ResourceManager/ResourceTypeLoader.h>
5#include <RendererCore/RenderContext/Implementation/RenderContextStructs.h>
6#include <RendererCore/RendererCoreDLL.h>
7#include <RendererFoundation/RendererFoundationDLL.h>
8#include <Texture/Image/Image.h>
9#include <Texture/plTexFormat/plTexFormat.h>
10
11class PL_RENDERERCORE_DLL plTextureResourceLoader : public plResourceTypeLoader
12{
13public:
15 {
17 : m_Reader(&m_Storage)
18 {
19 }
20
22 plMemoryStreamReader m_Reader;
23 plImage m_Image;
24
25 bool m_bIsFallback = false;
26 plTexFormat m_TexFormat;
27 };
28
29 virtual plResourceLoadData OpenDataStream(const plResource* pResource) override;
30 virtual void CloseDataStream(const plResource* pResource, const plResourceLoadData& loaderData) override;
31 virtual bool IsResourceOutdated(const plResource* pResource) const override;
32
33 static plResult LoadTexFile(plStreamReader& inout_stream, LoadedData& ref_data);
34 static void WriteTextureLoadStream(plStreamWriter& inout_stream, const LoadedData& data);
35};
Definition MemoryStream.h:145
A class containing image data and associated meta data.
Definition Image.h:103
A reader which can access a memory stream.
Definition MemoryStream.h:259
The base class for all resources.
Definition Resource.h:10
Base class for all resource loaders.
Definition ResourceTypeLoader.h:29
virtual void CloseDataStream(const plResource *pResource, const plResourceLoadData &loaderData)=0
This function is called when the resource has been updated with the data from the resource loader and...
virtual plResourceLoadData OpenDataStream(const plResource *pResource)=0
Override this function to implement the resource loading.
virtual bool IsResourceOutdated(const plResource *pResource) const
If this function returns true, a resource is unloaded and loaded again to update its content.
Definition ResourceTypeLoader.h:51
Interface for binary in (read) streams.
Definition Stream.h:22
Interface for binary out (write) streams.
Definition Stream.h:107
Definition TextureLoader.h:12
Data returned by plResourceTypeLoader implementations.
Definition ResourceTypeLoader.h:10
Default enum for returning failure or success, instead of using a bool.
Definition Types.h:54
Definition plTexFormat.h:12
Definition TextureLoader.h:15