summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/glm/test/external/gli/texture_cube.hpp
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/glm/test/external/gli/texture_cube.hpp')
-rw-r--r--3rdparty/glm/test/external/gli/texture_cube.hpp68
1 files changed, 68 insertions, 0 deletions
diff --git a/3rdparty/glm/test/external/gli/texture_cube.hpp b/3rdparty/glm/test/external/gli/texture_cube.hpp
new file mode 100644
index 00000000000..7fad58b5b55
--- /dev/null
+++ b/3rdparty/glm/test/external/gli/texture_cube.hpp
@@ -0,0 +1,68 @@
+/// @brief Include to use cube map textures.
+/// @file gli/texture_cube.hpp
+
+#pragma once
+
+#include "texture2d.hpp"
+
+namespace gli
+{
+ /// Cube map texture
+ class texture_cube : public texture
+ {
+ public:
+ typedef extent2d extent_type;
+
+ public:
+ /// Create an empty texture cube
+ texture_cube();
+
+ /// Create a texture_cube and allocate a new storage_linear
+ texture_cube(
+ format_type Format,
+ extent_type const & Extent,
+ size_type Levels,
+ swizzles_type const& Swizzles = swizzles_type(SWIZZLE_RED, SWIZZLE_GREEN, SWIZZLE_BLUE, SWIZZLE_ALPHA));
+
+ /// Create a texture_cube and allocate a new storage_linear with a complete mipmap chain
+ texture_cube(
+ format_type Format,
+ extent_type const & Extent,
+ swizzles_type const& Swizzles = swizzles_type(SWIZZLE_RED, SWIZZLE_GREEN, SWIZZLE_BLUE, SWIZZLE_ALPHA));
+
+ /// Create a texture_cube view with an existing storage_linear
+ explicit texture_cube(
+ texture const& Texture);
+
+ /// Create a texture_cube view with an existing storage_linear
+ texture_cube(
+ texture const& Texture,
+ format_type Format,
+ size_type BaseLayer, size_type MaxLayer,
+ size_type BaseFace, size_type MaxFace,
+ size_type BaseLevel, size_type MaxLevel,
+ swizzles_type const& Swizzles = swizzles_type(SWIZZLE_RED, SWIZZLE_GREEN, SWIZZLE_BLUE, SWIZZLE_ALPHA));
+
+ /// Create a texture_cube view, reference a subset of an existing texture_cube instance
+ texture_cube(
+ texture_cube const& Texture,
+ size_type BaseFace, size_type MaxFace,
+ size_type BaseLevel, size_type MaxLevel);
+
+ /// Create a view of the texture identified by Face in the texture cube
+ texture2d operator[](size_type Face) const;
+
+ /// Return the dimensions of a texture instance: width and height where both should be equal.
+ extent_type extent(size_type Level = 0) const;
+
+ /// Fetch a texel from a texture. The texture format must be uncompressed.
+ template <typename gen_type>
+ gen_type load(extent_type const& TexelCoord, size_type Face, size_type Level) const;
+
+ /// Write a texel to a texture. The texture format must be uncompressed.
+ template <typename gen_type>
+ void store(extent_type const& TexelCoord, size_type Face, size_type Level, gen_type const& Texel);
+ };
+}//namespace gli
+
+#include "./core/texture_cube.inl"