GLI  0.5.1
texture3d.hpp
Go to the documentation of this file.
1 
29 #ifndef GLI_CORE_TEXTURE3D_INCLUDED
30 #define GLI_CORE_TEXTURE3D_INCLUDED
31 
32 #include "image.hpp"
33 
34 namespace gli
35 {
36  class texture3D
37  {
38  public:
43 
44  public:
45  texture3D();
46 
48  explicit texture3D(
49  size_type const & Levels,
50  format_type const & Format,
51  dimensions_type const & Dimensions);
52 
54  explicit texture3D(
55  format_type const & Format,
56  dimensions_type const & Dimensions);
57 
59  explicit texture3D(
60  storage const & Storage);
61 
63  explicit texture3D(
64  storage const & Storage,
65  format_type const & Format,
66  size_type BaseLayer,
67  size_type MaxLayer,
68  size_type BaseFace,
69  size_type MaxFace,
70  size_type BaseLevel,
71  size_type MaxLevel);
72 
74  explicit texture3D(
75  texture3D const & Texture,
76  size_type const & BaseLevel,
77  size_type const & MaxLevel);
78 
79  operator storage() const;
80  image operator[] (size_type const & Level) const;
81 
82  bool empty() const;
83  format_type format() const;
85  size_type layers() const;
86  size_type faces() const;
87  size_type levels() const;
88 
89  size_type size() const;
90  void * data();
91  void const * data() const;
92 
93  template <typename genType>
94  size_type size() const;
95  template <typename genType>
96  genType * data();
97  template <typename genType>
98  genType const * data() const;
99 
100  void clear();
101  template <typename genType>
102  void clear(genType const & Texel);
103 
104  size_type baseLayer() const;
105  size_type maxLayer() const;
106  size_type baseFace() const;
107  size_type maxFace() const;
108  size_type baseLevel() const;
109  size_type maxLevel() const;
110 
111  private:
112  storage Storage;
113  size_type BaseLayer;
114  size_type MaxLayer;
115  size_type BaseFace;
116  size_type MaxFace;
117  size_type BaseLevel;
118  size_type MaxLevel;
119  format_type Format;
120  };
121 }//namespace gli
122 
123 #endif//GLI_CORE_TEXTURE2D_INCLUDED
storage::dimensions3_type dimensions_type
Definition: texture3d.hpp:39
format_type format() const
OpenGL Image (gli.g-truc.net)
storage::size_type size_type
Definition: texture3d.hpp:41
Image.
Definition: image.hpp:42
image operator[](size_type const &Level) const
size_type layers() const
size_type maxFace() const
size_type size() const
std::size_t size_type
Definition: storage.hpp:78
size_type faces() const
bool empty() const
format
Definition: format.hpp:34
gli::format format_type
Definition: texture3d.hpp:42
size_type levels() const
size_type maxLayer() const
size_type baseFace() const
size_type baseLayer() const
glm::uvec3 dimensions3_type
Definition: storage.hpp:71
size_type baseLevel() const
storage::texcoord3_type texcoord_type
Definition: texture3d.hpp:40
size_type maxLevel() const
glm::vec3 texcoord3_type
Definition: storage.hpp:76
dimensions_type dimensions() const