6 #include "./core/storage_linear.hpp" 19 typedef size_t size_type;
21 typedef storage_linear::extent_type extent_type;
22 typedef storage_linear::data_type data_type;
28 explicit image(format_type Format, extent_type
const& Extent);
34 explicit image(
image const& Image, format_type Format);
40 format_type
format()
const;
43 extent_type
extent()
const;
46 size_type
size()
const;
50 template <
typename genType>
51 size_type
size()
const;
57 void const*
data()
const;
60 template <
typename genType>
64 template <
typename genType>
65 genType
const*
data()
const;
72 template <
typename genType>
73 void clear(genType
const& Texel);
78 template <
typename genType>
79 genType
load(extent_type
const& TexelCoord);
84 template <
typename genType>
85 void store(extent_type
const& TexelCoord, genType
const& Data);
94 std::shared_ptr<storage_linear> Storage,
100 std::shared_ptr<storage_linear> Storage;
101 format_type
const Format;
102 size_type
const BaseLevel;
104 size_type
const Size;
106 data_type* compute_data(size_type BaseLayer, size_type BaseFace, size_type BaseLevel);
107 size_type compute_size(size_type Level)
const;
111 #include "./core/image.inl" extent_type extent() const
Return the dimensions of an image instance: width, height and depth.
format_type format() const
Return the image instance format.
format
Texture data format.
void * data()
Return a pointer to the beginning of the image instance data.
genType load(extent_type const &TexelCoord)
Load the texel located at TexelCoord coordinates.
bool empty() const
Return whether the image instance is empty, no storage_linear or description have been assigned to th...
Namespace where all the classes and functions provided by GLI are exposed.
image()
Create an empty image instance.
void clear()
Clear the entire image storage_linear with zeros.
void store(extent_type const &TexelCoord, genType const &Data)
Store the texel located at TexelCoord coordinates.
Image, representation for a single texture level.
size_type size() const
Return the memory size of an image instance storage_linear in bytes.