GLI  0.5.1
texture_cube_array.hpp
Go to the documentation of this file.
1 
29 #ifndef GLI_CORE_TEXTURE_CUBE_ARRAY_INCLUDED
30 #define GLI_CORE_TEXTURE_CUBE_ARRAY_INCLUDED
31 
32 #include "image.hpp"
33 
34 namespace gli
35 {
36  class textureCube;
37  class texture2D;
38 
40  {
41  public:
46 
47  public:
49 
51  explicit textureCubeArray(
52  size_type const & Layers,
53  size_type const & Faces,
54  size_type const & Levels,
55  format_type const & Format,
56  dimensions_type const & Dimensions);
57 
59  explicit textureCubeArray(
60  size_type const & Layers,
61  size_type const & Faces,
62  format_type const & Format,
63  dimensions_type const & Dimensions);
64 
66  explicit textureCubeArray(
67  storage const & Storage);
68 
70  explicit textureCubeArray(
71  storage const & Storage,
72  format_type const & Format,
73  size_type BaseLayer,
74  size_type MaxLayer,
75  size_type BaseFace,
76  size_type MaxFace,
77  size_type BaseLevel,
78  size_type MaxLevel);
79 
81  explicit textureCubeArray(
82  textureCubeArray const & Texture,
83  size_type const & BaseLayer,
84  size_type const & MaxLayer,
85  size_type const & BaseFace,
86  size_type const & MaxFace,
87  size_type const & BaseLevel,
88  size_type const & MaxLevel);
89 
91  explicit textureCubeArray(
92  textureCube const & Texture,
93  size_type const & BaseFace,
94  size_type const & MaxFace,
95  size_type const & BaseLevel,
96  size_type const & MaxLevel);
97 
99  explicit textureCubeArray(
100  texture2D const & Texture,
101  size_type const & BaseLevel,
102  size_type const & MaxLevel);
103 
104  operator storage() const;
105  textureCube operator[] (size_type const & Layer) const;
106 
107  bool empty() const;
108  format_type format() const;
109  dimensions_type dimensions() const;
110  size_type layers() const;
111  size_type faces() const;
112  size_type levels() const;
113 
114  size_type size() const;
115  void * data();
116  void const * data() const;
117 
118  template <typename genType>
119  size_type size() const;
120  template <typename genType>
121  genType * data();
122  template <typename genType>
123  genType const * data() const;
124 
125  void clear();
126  template <typename genType>
127  void clear(genType const & Texel);
128 
129  size_type baseLayer() const;
130  size_type maxLayer() const;
131  size_type baseFace() const;
132  size_type maxFace() const;
133  size_type baseLevel() const;
134  size_type maxLevel() const;
135 
136  private:
137  storage Storage;
138  size_type BaseLayer;
139  size_type MaxLayer;
140  size_type BaseFace;
141  size_type MaxFace;
142  size_type BaseLevel;
143  size_type MaxLevel;
144  format_type Format;
145  };
146 }//namespace gli
147 
148 #endif//GLI_CORE_TEXTURE_CUBE_ARRAY_INCLUDED
size_type baseLevel() const
storage::dimensions2_type dimensions_type
OpenGL Image (gli.g-truc.net)
size_type levels() const
storage::format_type format_type
glm::uvec2 dimensions2_type
Definition: storage.hpp:70
glm::vec4 texcoord4_type
Definition: storage.hpp:77
size_type layers() const
size_type maxFace() const
size_type maxLevel() const
textureCube operator[](size_type const &Layer) const
bool empty() const
size_type faces() const
texture2D
Definition: texture2d.hpp:41
std::size_t size_type
Definition: storage.hpp:78
format
Definition: format.hpp:34
size_type baseFace() const
size_type baseLayer() const
size_type maxLayer() const
storage::texcoord4_type texcoord_type
format_type format() const
storage::size_type size_type
size_type size() const
dimensions_type dimensions() const