std::variant< std::vector< double >, std::vector< float >, std::vector< uint8_t >, std::vector< uint16_t >, std::vector< uint32_t >, std::vector< std::complex< float > >, std::vector< std::complex< double > >, std::vector< glm::vec2 >, std::vector< glm::vec3 >, std::vector< glm::vec4 >, std::vector< glm::mat4 > > DataVariant
Multi-type data storage for different precision needs.
std::vector< std::byte > conversion_buffer
Promotion buffer.
size_t bytes_per_texel() const noexcept
Bytes per texel for this format.
uint32_t channel_count() const noexcept
Number of channels (components per texel).
bool was_promoted() const noexcept
True when data_ptr points into conversion_buffer rather than the original variant storage (i....
Memory-compatible view of a DataVariant for texel upload.