0.8.2 API documentation
texture3d.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 
6 #include "texture.hpp"
7 #include "image.hpp"
8 
9 namespace gli
10 {
12  class texture3d : public texture
13  {
14  public:
15  typedef extent3d extent_type;
16 
17  public:
19  texture3d();
20 
22  texture3d(
23  format_type Format,
24  extent_type const& Extent,
25  size_type Levels,
26  swizzles_type const& Swizzles = swizzles_type(SWIZZLE_RED, SWIZZLE_GREEN, SWIZZLE_BLUE, SWIZZLE_ALPHA));
27 
29  texture3d(
30  format_type Format,
31  extent_type const& Extent,
32  swizzles_type const& Swizzles = swizzles_type(SWIZZLE_RED, SWIZZLE_GREEN, SWIZZLE_BLUE, SWIZZLE_ALPHA));
33 
35  explicit texture3d(
36  texture const & Texture);
37 
39  texture3d(
40  texture const& Texture,
41  format_type Format,
42  size_type BaseLayer, size_type MaxLayer,
43  size_type BaseFace, size_type MaxFace,
44  size_type BaseLevel, size_type MaxLevel,
45  swizzles_type const& Swizzles = swizzles_type(SWIZZLE_RED, SWIZZLE_GREEN, SWIZZLE_BLUE, SWIZZLE_ALPHA));
46 
48  texture3d(
49  texture3d const & Texture,
50  size_type BaseLevel, size_type MaxLevel);
51 
53  image operator[](size_type Level) const;
54 
56  extent_type extent(size_type Level = 0) const;
57 
59  template <typename gen_type>
60  gen_type load(extent_type const& TexelCoord, size_type Level) const;
61 
63  template <typename gen_type>
64  void store(extent_type const& TexelCoord, size_type Level, gen_type const& Texel);
65  };
66 }//namespace gli
67 
68 #include "./core/texture3d.inl"
format
Texture data format.
Definition: format.hpp:12
Image, representation for a single texture level.
Definition: image.hpp:11
Include to use generic textures which can represent any texture target but they don't have target spe...
image operator[](size_type Level) const
Create a view of the image identified by Level in the mipmap chain of the texture.
Genetic texture class. It can support any target.
Definition: texture.hpp:14
3d texture
Definition: texture3d.hpp:12
Include to use images, a representation of a single texture level.
texture3d()
Create an empty texture 3D.
Namespace where all the classes and functions provided by GLI are exposed.
Definition: clear.hpp:6
void store(extent_type const &TexelCoord, size_type Level, gen_type const &Texel)
Write a texel to a texture. The texture format must be uncompressed.
extent_type extent(size_type Level=0) const
Return the dimensions of a texture instance: width, height and depth.
gen_type load(extent_type const &TexelCoord, size_type Level) const
Fetch a texel from a texture. The texture format must be uncompressed.