Plasma Engine  2.0
Loading...
Searching...
No Matches
LUTAsset.h
1#pragma once
2
3#include <EditorFramework/Assets/AssetDocumentGenerator.h>
4#include <EditorFramework/Assets/SimpleAssetDocument.h>
5#include <EditorPluginAssets/LUTAsset/LUTAssetObjects.h>
6
8
9class plLUTAssetDocument : public plSimpleAssetDocument<plLUTAssetProperties>
10{
12
13public:
14 plLUTAssetDocument(plStringView sDocumentPath);
15
16protected:
18 const plAssetFileHeader& AssetHeader, plBitflags<plTransformFlags> transformFlags) override
19 {
20 return plStatus(PL_SUCCESS);
21 }
22 virtual plTransformStatus InternalTransformAsset(const char* szTargetFile, plStringView sOutputTag, const plPlatformProfile* pAssetProfile,
23 const plAssetFileHeader& AssetHeader, plBitflags<plTransformFlags> transformFlags) override;
24};
25
27
29{
30 PL_ADD_DYNAMIC_REFLECTION(plLUTAssetDocumentGenerator, plAssetDocumentGenerator);
31
32public:
35
36 virtual void GetImportModes(plStringView sAbsInputFile, plDynamicArray<plAssetDocumentGenerator::ImportMode>& out_modes) const override;
37 virtual plStringView GetDocumentExtension() const override { return "plLUTAsset"; }
38 virtual plStringView GetGeneratorGroup() const override { return "LUTs"; }
39 virtual plStatus Generate(plStringView sInputFileAbs, plStringView sMode, plDynamicArray<plDocument*>& out_generatedDocuments) override;
40};
Provides functionality for importing files as asset documents.
Definition AssetDocumentGenerator.h:23
Simple class to handle asset file headers (the very first bytes in all transformed asset files)
Definition AssetFileHeader.h:8
Definition DynamicArray.h:81
Definition LUTAsset.h:29
virtual plStringView GetDocumentExtension() const override
Returns the target asset document file extension.
Definition LUTAsset.h:37
virtual plStringView GetGeneratorGroup() const override
Allows to merge the import modes of multiple generators in the UI in one group.
Definition LUTAsset.h:38
virtual plStatus Generate(plStringView sInputFileAbs, plStringView sMode, plDynamicArray< plDocument * > &out_generatedDocuments) override
Tells the generator to create a new asset document with the chosen mode.
Definition LUTAsset.cpp:124
virtual void GetImportModes(plStringView sAbsInputFile, plDynamicArray< plAssetDocumentGenerator::ImportMode > &out_modes) const override
Used to fill out which import modes may be available for the given asset.
Definition LUTAsset.cpp:116
Definition LUTAsset.h:10
virtual plTransformStatus InternalTransformAsset(plStreamWriter &stream, plStringView sOutputTag, const plPlatformProfile *pAssetProfile, const plAssetFileHeader &AssetHeader, plBitflags< plTransformFlags > transformFlags) override
Override this and write the transformed file for the given szOutputTag into the given stream.
Definition LUTAsset.h:17
Definition PlatformProfile.h:25
Definition SimpleAssetDocument.h:23
Interface for binary out (write) streams.
Definition Stream.h:107
plStringView represent a read-only sub-string of a larger string, as it can store a dedicated string ...
Definition StringView.h:34
Definition TextureAssetManager.h:8
The plBitflags class allows you to work with type-safe bitflags.
Definition Bitflags.h:82
An plResult with an additional message for the reason of failure.
Definition Status.h:12
Definition Declarations.h:114