GLI  0.6.0
texture3d.hpp
Go to the documentation of this file.
1 
29 #pragma once
30 
31 #include "image.hpp"
32 
33 namespace gli
34 {
35  class texture3D
36  {
37  public:
45 
46  public:
47  texture3D();
48 
50  explicit texture3D(
51  size_type const & Levels,
52  format_type const & Format,
53  dim_type const & Dimensions);
54 
56  explicit texture3D(
57  format_type const & Format,
58  dim_type const & Dimensions);
59 
61  explicit texture3D(
62  storage const & Storage);
63 
65  explicit texture3D(
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 texture3D(
77  texture3D const & Texture,
78  size_type const & BaseLevel,
79  size_type const & MaxLevel);
80 
81  operator storage() const;
82  image operator[] (size_type const & Level) const;
83 
84  bool empty() const;
85  format_type format() const;
86  dim_type dimensions() const;
87  size_type layers() const;
88  size_type faces() const;
89  size_type levels() const;
90 
91  size_type size() const;
92  void * data();
93  void const * data() const;
94 
95  template <typename genType>
96  size_type size() const;
97  template <typename genType>
98  genType * data();
99  template <typename genType>
100  genType const * data() const;
101 
102  void clear();
103  template <typename genType>
104  void clear(genType const & Texel);
105 
106  size_type baseLayer() const;
107  size_type maxLayer() const;
108  size_type baseFace() const;
109  size_type maxFace() const;
110  size_type baseLevel() const;
111  size_type maxLevel() const;
112 
113  private:
114  storage Storage;
115  size_type BaseLayer;
116  size_type MaxLayer;
117  size_type BaseFace;
118  size_type MaxFace;
119  size_type BaseLevel;
120  size_type MaxLevel;
121  format_type Format;
122  };
123 }//namespace gli
storage::size_type face_type
Definition: texture3d.hpp:44
dim_type dimensions() const
size_t size_type
Definition: storage.hpp:68
format_type format() const
storage::size_type size_type
Definition: texture3d.hpp:40
image operator[](size_type const &Level) const
size_type layers() const
size_type maxFace() const
size_type size() const
OpenGL Image (gli.g-truc.net)
size_type faces() const
bool empty() const
Image.
Definition: image.hpp:41
size_type levels() const
size_type maxLayer() const
size_type baseFace() const
texcoord3_t texcoord3_type
Definition: storage.hpp:66
size_type baseLayer() const
storage::size_type layer_type
Definition: texture3d.hpp:42
storage::dim3_type dim_type
Definition: texture3d.hpp:38
storage::format_type format_type
Definition: texture3d.hpp:41
storage::size_type level_type
Definition: texture3d.hpp:43
size_type baseLevel() const
storage::texcoord3_type texcoord_type
Definition: texture3d.hpp:39
size_type maxLevel() const
dim3_t dim3_type
Definition: storage.hpp:61
format
Definition: format.hpp:33