66 CHECK_MSG(index <
subresources.size(),
"Texture subresource {} missing from serialized texture", index);
183 obj.bytes.resize(
obj.GetSize());
#define GLOBAL_ALLOC
Definition Allocator.hpp:225
#define CHECK(expr)
Definition Logging.hpp:57
#define CHECK_MSG(expr, format_str,...)
Definition Logging.hpp:62
#define DDS_CUBEMAP
Definition TextureDDS.hpp:305
constexpr uint32_t DDS_MAGIC
Definition TextureDDS.hpp:135
constexpr DDS_PIXELFORMAT DDSPF_DX10
Definition TextureDDS.hpp:278
void FSerialize(FWriter &w, FSerializedTexture const &obj)
Definition Texture.hpp:147
void SaveHDR(const float *data, int width, int height, StringView path)
Definition Texture.cpp:408
void LoadHDR(FTexture &texture, StringView path)
Definition Texture.cpp:394
void FDeserialize(FReader &r, FSerializedTexture &obj)
Definition Texture.hpp:157
void LoadDDS(FTexture &texture, StringView path)
Definition Texture.cpp:364
void LoadRGBA8(FTexture &texture, StringView path, bool gamma=true)
Definition Texture.cpp:371
void SavePNG(const unsigned char *data, int width, int height, StringView path)
Definition Texture.cpp:422
General Purpose Allocator (GPA) interface.
Definition Allocator.hpp:24
Scoped move-only RAII handle wrapper for RHI Objects.
Definition Details.hpp:86
std::basic_string_view< char > StringView
Alias for std::basic_string_view<char>
Definition Container.hpp:55
RHIScopedHandle< RHIDevice, T > RHIDeviceScopedHandle
Definition Details.hpp:209
glm::vec< 3, uint32_t > RHIExtent3D
Definition Common.hpp:11
RHITextureDimension
Definition Common.hpp:243
RHIResourceFormat
Definition Common.hpp:34
Definition Allocator.hpp:5
Definition Serialization.hpp:26
Definition Serialization.hpp:44
Definition Texture.hpp:46
uint32_t GetSubresourceIndex(uint32_t layer, uint32_t mip) const
Definition Texture.hpp:56
FSerializedTexture(Allocator *alloc=GLOBAL_ALLOC)
Definition Texture.hpp:49
bool IsValid() const
Definition Texture.hpp:70
Vector< FBlobRef > subresources
Definition Texture.hpp:47
uint32_t GetSubresourceCount() const
Definition Texture.hpp:54
FBlobRef const & GetSubresourceBlob(uint32_t layer, uint32_t mip) const
Definition Texture.hpp:63
Definition Texture.hpp:77
void GenerateMips()
Definition Texture.cpp:279
Vector< unsigned char > bytes
Definition Texture.hpp:78
bool IsValid() const
Definition Texture.hpp:83
Span< unsigned char > GetSubresource(uint32_t mipLevel=0, uint32_t arrayLayer=0) const
Definition Texture.cpp:260
void Initialize(RHIResourceFormat format, RHITextureDimension dimension, uint32_t width, uint32_t height=1, uint32_t depth=1, uint32_t mipCount=1, uint32_t layerCount=1)
Definition Texture.cpp:13
FSerializedTexture ToSerializedTexture(Allocator *alloc=GLOBAL_ALLOC) const
Definition Texture.hpp:96
FTexture EncodeBC7(Allocator *alloc=GLOBAL_ALLOC) const
Definition Texture.cpp:429
Definition Serialization.hpp:36
virtual size_t write(const void *data, size_t size)=0
Definition Resource.hpp:142