From c782f07b769f5b3db74a417ec1f8d81418a307bc Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Fri, 24 Apr 2026 11:21:18 +0200 Subject: [PATCH] Add `GetTextureData` function to texture API in C# --- Source/Engine/Graphics/Textures/TextureBase.cpp | 11 +++++++++++ Source/Engine/Graphics/Textures/TextureBase.cs | 10 ++++++++++ 2 files changed, 21 insertions(+) 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. ///