#include <RadientTypesX.hpp>
Public Member Functions | |
| RadientTextureDataX () noexcept=default | |
| Creates empty data with the C descriptor defaults, including GenerateMips=True. | |
| RadientTextureDataX (Uint32 Width, Uint32 Height, RADIENT_TEXTURE_FORMAT Format) noexcept | |
| Sets mip-zero dimensions and format. AddMip supplies the actual levels. | |
| RadientTextureDataX (const RadientTextureData &Data) | |
| Copies the mip array and retains each blob. A nonzero count requires a valid array. | |
| RadientTextureDataX (const RadientTextureDataX &Other) | |
| Copies metadata and shares references to the same blobs. | |
| RadientTextureDataX & | operator= (const RadientTextureDataX &Other) |
| Replaces metadata and retained blob references with a copy of Other. | |
| RadientTextureDataX (RadientTextureDataX &&Other) noexcept | |
| Transfers metadata and references, leaving Other at its default state. | |
| RadientTextureDataX & | operator= (RadientTextureDataX &&Other) noexcept |
| Transfers ownership. Other becomes default-initialized; self-move is a no-op. | |
| RadientTextureDataX & | SetDimensions (Uint32 Width, Uint32 Height) noexcept |
| Sets the logical dimensions of mip zero without changing supplied levels. | |
| RadientTextureDataX & | SetFormat (RADIENT_TEXTURE_FORMAT Format) noexcept |
| Sets the pixel or block-compressed format without converting bytes. | |
| RadientTextureDataX & | SetGenerateMips (Bool GenerateMips) noexcept |
| Selects the existing LoadTexture policy for generating missing levels. | |
| RadientTextureDataX & | AddMip (const RadientTextureMipData &Mip) |
| Appends the next consecutive mip descriptor and retains its blob. | |
| RadientTextureDataX & | AddMip (IRadientDataBlob *pBlob, Uint64 ByteOffset=0, Uint32 Stride=0) |
| Appends a mip stored at ByteOffset in pBlob. Zero Stride selects tight rows. | |
| RadientTextureDataX & | SetMip (Uint32 Index, const RadientTextureMipData &Mip) |
| Replaces a mip and its retained blob. Index must be less than GetMipLevelCount(). | |
| RadientTextureDataX & | SetMip (Uint32 Index, IRadientDataBlob *pBlob, Uint64 ByteOffset=0, Uint32 Stride=0) |
| Replaces a mip's blob, offset, and row stride. Index must already exist. | |
| Uint32 | GetMipLevelCount () const noexcept |
| Returns the number of supplied mip levels. | |
| const RadientTextureMipData & | GetMip (Uint32 Index) const noexcept |
| Returns a mip descriptor. Index must be less than GetMipLevelCount(). | |
| const RadientTextureData & | Get () const noexcept |
| Returns the C descriptor view without allocating or acquiring blob access. | |
| operator const RadientTextureData & () const noexcept | |
| Allows passing this wrapper to APIs accepting a const C descriptor reference. | |
| void | ClearMips () noexcept |
| Releases supplied levels and their references, preserving dimensions, format, and options. | |
| void | Clear () noexcept |
| Releases levels and restores all C descriptor defaults. | |
| void | Swap (RadientTextureDataX &Other) noexcept |
| Exchanges descriptors and references and repairs both views without allocating. | |
Owns supplied mip descriptors and retains their data blobs.
Copies duplicate descriptors and share blob references; pixel bytes are never copied. Construction and modification do not acquire blob read access, so a mutable blob can still be populated before LoadTexture. REFERENCE blobs retain their existing external-storage lifetime requirements. Get() and conversion expose a view valid until modification, move, or destruction. LoadTexture captures the descriptor and blob references during the call. Concurrent access requires synchronization if any access modifies the wrapper.