diff --git a/Source/Engine/Graphics/Textures/TextureBase.cpp b/Source/Engine/Graphics/Textures/TextureBase.cpp index 7536dadc6..600bfcc2a 100644 --- a/Source/Engine/Graphics/Textures/TextureBase.cpp +++ b/Source/Engine/Graphics/Textures/TextureBase.cpp @@ -753,6 +753,17 @@ bool TextureBase::InitCSharp(void* ptr) return Init(initData); } +TextureData* TextureBase::GetTextureData() +{ + auto result = New(); + if (GetTextureData(*result, false)) + { + Delete(result); + result = nullptr; + } + return result; +} + #endif uint64 TextureBase::GetMemoryUsage() const diff --git a/Source/Engine/Graphics/Textures/TextureBase.cs b/Source/Engine/Graphics/Textures/TextureBase.cs index 4c353f872..9a9315d31 100644 --- a/Source/Engine/Graphics/Textures/TextureBase.cs +++ b/Source/Engine/Graphics/Textures/TextureBase.cs @@ -36,6 +36,16 @@ namespace FlaxEngine /// public const int MaxArraySize = 512; + /// + /// Loads the texture data from the asset. + /// + /// Use with caution as this operation loads texture data from the file. + /// The loaded texture data or null if failed. + public TextureData GetTextureData() + { + return Internal_GetTextureData(__unmanagedPtr); + } + /// /// The texture data initialization container. ///