GLI  0.5.1
texture2d_array.hpp
Go to the documentation of this file.
1 
29 #ifndef GLI_CORE_TEXTURE2D_ARRAY_INCLUDED
30 #define GLI_CORE_TEXTURE2D_ARRAY_INCLUDED
31 
32 #include "texture2d.hpp"
33 
34 namespace gli
35 {
37  {
38  public:
43 
44  public:
46 
48  explicit texture2DArray(
49  size_type const & Layers,
50  size_type const & Levels,
51  format_type const & Format,
52  dimensions_type const & Dimensions);
53 
55  explicit texture2DArray(
56  size_type const & Layers,
57  format_type const & Format,
58  dimensions_type const & Dimensions);
59 
61  explicit texture2DArray(
62  storage const & Storage);
63 
65  explicit texture2DArray(
66  storage const & Storage,
67  format_type const & Format,
68  size_type BaseLayer,
69  size_type MaxLayer,
70  size_type BaseFace,
71  size_type MaxFace,
72  size_type BaseLevel,
73  size_type MaxLevel);
74 
76  explicit texture2DArray(
77  texture2DArray const & Texture,
78  size_type const & BaseLayer,
79  size_type const & MaxLayer,
80  size_type const & BaseLevel,
81  size_type const & MaxLevel);
82 
84  explicit texture2DArray(
85  texture2D const & Texture,
86  size_type const & BaseLevel,
87  size_type const & MaxLevel);
88 
89  operator storage() const;
90  texture2D operator[] (size_type const & Layer) const;
91 
92  bool empty() const;
93  format_type format() const;
95  size_type layers() const;
96  size_type faces() const;
97  size_type levels() const;
98 
99  size_type size() const;
100  void * data();
101  void const * data() const;
102 
103  template <typename genType>
104  size_type size() const;
105  template <typename genType>
106  genType * data();
107  template <typename genType>
108  genType const * data() const;
109 
110  void clear();
111  template <typename genType>
112  void clear(genType const & Texel);
113 
114  size_type baseLayer() const;
115  size_type maxLayer() const;
116  size_type baseFace() const;
117  size_type maxFace() const;
118  size_type baseLevel() const;
119  size_type maxLevel() const;
120 
121  private:
122  storage Storage;
123  size_type BaseLayer;
124  size_type MaxLayer;
125  size_type BaseFace;
126  size_type MaxFace;
127  size_type BaseLevel;
128  size_type MaxLevel;
129  format_type Format;
130  };
131 }//namespace gli
132 
133 #endif//GLI_CORE_TEXTURE2D_ARRAY_INCLUDED
134 
size_type maxFace() const
glm::uvec2 dimensions2_type
Definition: storage.hpp:70
storage::size_type size_type
storage::dimensions2_type dimensions_type
size_type size() const
size_type layers() const
size_type faces() const
format_type format() const
OpenGL Image (gli.g-truc.net)
texture2D operator[](size_type const &Layer) const
texture2D
Definition: texture2d.hpp:41
size_type maxLayer() const
bool empty() const
std::size_t size_type
Definition: storage.hpp:78
format
Definition: format.hpp:34
size_type levels() const
size_type baseFace() const
storage::texcoord3_type texcoord_type
size_type baseLayer() const
size_type maxLevel() const
dimensions_type dimensions() const
size_type baseLevel() const
glm::vec3 texcoord3_type
Definition: storage.hpp:76