diff options
Diffstat (limited to '3rdparty/glm/test/external/gli/texture_cube.hpp')
| -rw-r--r-- | 3rdparty/glm/test/external/gli/texture_cube.hpp | 68 |
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" |
