/
redgpu
/
ezEngine
Обзор
Документация
Войти
/
redgpu
/
ezEngine
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
Code/EditorPlugins/Assets/EditorPluginAssets/TextureAsset/TextureAsset.h
81 строка
3 KB
C-Core
Improved alpha coverage algorithm and other fixes (#1472)
14 янв 2025, 16:19
Не верифицирован
14 янв 2025, 16:19
dff16ec
Код
Авторство
О чём код?
#pragma once #include <EditorFramework/Assets/AssetDocumentGenerator.h> #include <EditorFramework/Assets/SimpleAssetDocument.h> #include <EditorPluginAssets/EditorPluginAssetsDLL.h> #include <EditorPluginAssets/TextureAsset/TextureAssetObjects.h> class ezTextureAssetProfileConfig; struct ezTextureChannelMode { using StorageType = ezUInt8; enum Enum { RGBA, RGB, Red, Green, Blue, Alpha, CoverageRed, CoverageAlpha, Default = RGBA }; }; EZ_DECLARE_REFLECTABLE_TYPE(EZ_EDITORPLUGINASSETS_DLL, ezTextureChannelMode); class ezTextureAssetDocument : public ezSimpleAssetDocument<ezTextureAssetProperties> { EZ_ADD_DYNAMIC_REFLECTION(ezTextureAssetDocument, ezSimpleAssetDocument<ezTextureAssetProperties>); public: ezTextureAssetDocument(ezStringView sDocumentPath); // for previewing purposes ezEnum<ezTextureChannelMode> m_ChannelMode; ezInt32 m_iTextureLod = -1; // -1 == regular sampling, >= 0 == sample that level bool m_bIsRenderTarget = false; protected: virtual void InitializeAfterLoading(bool bFirstTimeCreation) override; virtual ezTransformStatus InternalTransformAsset(ezStreamWriter& stream, ezStringView sOutputTag, const ezPlatformProfile* pAssetProfile, const ezAssetFileHeader& AssetHeader, ezBitflags<ezTransformFlags> transformFlags) override { return ezStatus(EZ_SUCCESS); } virtual ezTransformStatus InternalTransformAsset(const char* szTargetFile, ezStringView sOutputTag, const ezPlatformProfile* pAssetProfile, const ezAssetFileHeader& AssetHeader, ezBitflags<ezTransformFlags> transformFlags) override; ezStatus RunTexConv(const char* szTargetFile, const ezAssetFileHeader& AssetHeader, bool bUpdateThumbnail, const ezTextureAssetProfileConfig* pAssetConfig); virtual void UpdateAssetDocumentInfo(ezAssetDocumentInfo* pInfo) const override; }; ////////////////////////////////////////////////////////////////////////// class ezTextureAssetDocumentGenerator : public ezAssetDocumentGenerator { EZ_ADD_DYNAMIC_REFLECTION(ezTextureAssetDocumentGenerator, ezAssetDocumentGenerator); public: ezTextureAssetDocumentGenerator(); ~ezTextureAssetDocumentGenerator(); enum class TextureType { Diffuse, Normal, Occlusion, Roughness, Metalness, ORM, Height, HDR, Linear, }; virtual void GetImportModes(ezStringView sAbsInputFile, ezDynamicArray<ezAssetDocumentGenerator::ImportMode>& out_modes) const override; virtual ezStringView GetDocumentExtension() const override { return "ezTextureAsset"; } virtual ezStringView GetGeneratorGroup() const override { return "Images"; } virtual ezStatus Generate(ezStringView sInputFileAbs, ezStringView sMode, ezDynamicArray<ezDocument*>& out_generatedDocuments) override; static TextureType DetermineTextureType(ezStringView sFile); };