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