LLGL 0.05 Beta
Loading...
Searching...
No Matches
TextureFlags.h File Reference
#include <LLGL/Export.h>
#include <LLGL/Types.h>
#include <LLGL/Format.h>
#include <LLGL/ResourceFlags.h>
#include <LLGL/CommandBufferFlags.h>
#include <cstddef>
#include <cstdint>

Classes

struct  LLGL::TextureSwizzleRGBA
 Texture component swizzle structure for red, green, blue, and alpha components. More...
struct  LLGL::TextureSubresource
 Texture subresource descriptor which specifies the array layer and MIP-map level range of a texture resource. More...
struct  LLGL::TextureLocation
 Texture location structure: MIP-map level and offset. More...
struct  LLGL::TextureRegion
 Texture region structure: Subresource (MIP-map level and array layer range), offset, and extent. More...
struct  LLGL::TextureDescriptor
 Texture descriptor structure. More...
struct  LLGL::TextureViewDescriptor
 Texture view descriptor structure. More...
struct  LLGL::SubresourceFootprint
 Memory footprint structure for texture subresources. More...

Namespaces

namespace  LLGL

Enumerations

enum class  LLGL::TextureType {
  LLGL::Texture1D , LLGL::Texture2D , LLGL::Texture3D , LLGL::TextureCube ,
  LLGL::Texture1DArray , LLGL::Texture2DArray , LLGL::TextureCubeArray , LLGL::Texture2DMS ,
  LLGL::Texture2DMSArray
}
 Texture type enumeration. More...
enum class  LLGL::TextureSwizzle : std::uint8_t {
  LLGL::Zero , LLGL::One , LLGL::Red , LLGL::Green ,
  LLGL::Blue , LLGL::Alpha
}
 Texture component swizzle enumeration. More...

Functions

LLGL_EXPORT std::uint32_t LLGL::NumMipLevels (std::uint32_t width, std::uint32_t height=1, std::uint32_t depth=1)
 Returns the number of MIP-map levels for a texture with the specified size.
LLGL_EXPORT std::uint32_t LLGL::NumMipLevels (const TextureType type, const Extent3D &extent)
 Returns the number of MIP-map levels for the specified texture attributes.
LLGL_EXPORT std::uint32_t LLGL::NumMipLevels (const TextureDescriptor &textureDesc)
 Returns the number of MIP-map levels for the specified texture descriptor.
LLGL_EXPORT std::uint32_t LLGL::NumMipTexels (const TextureType type, const Extent3D &extent, std::uint32_t mipLevel)
 Returns the number of texture elements (texels) for the specified texture attributes, or zero extent if mipLevel is out of bounds (see NumMipLevels).
LLGL_EXPORT std::uint32_t LLGL::NumMipTexels (const TextureType type, const Extent3D &extent, const TextureSubresource &subresource)
 Returns the number of texture elements (texels) for the specified texture subresource range.
LLGL_EXPORT std::uint32_t LLGL::NumMipTexels (const TextureDescriptor &textureDesc, std::uint32_t mipLevel=~0u)
 Returns the number of texture elements (texels) for the specified texture descriptor.
LLGL_EXPORT std::uint32_t LLGL::NumMipDimensions (const TextureType type)
 Returns the number of MIP-map dimensions for the specified texture type. This is either 1, 2, 3, or 0 if the input is invalid.
LLGL_EXPORT std::uint32_t LLGL::NumTextureDimensions (const TextureType type)
 Returns the number of texture dimensions for the specified texture type. This is either 1, 2, 3, or 0 if the input is invalid.
LLGL_EXPORT Extent3D LLGL::GetMipExtent (const TextureType type, const Extent3D &extent, std::uint32_t mipLevel)
 Returns the MIP-map extent (including array layers) for the specified texture type, or an empty extent if mipLevel is out of bounds (see NumMipLevels).
LLGL_EXPORT Extent3D LLGL::GetMipExtent (const TextureDescriptor &textureDesc, std::uint32_t mipLevel=0)
 Returns the MIP-map extent (including array layers) for the specified texture descriptor.
LLGL_EXPORT std::size_t LLGL::GetMemoryFootprint (const TextureType type, const Format format, const Extent3D &extent, const TextureSubresource &subresource)
 Returns the memory footprint (in bytes) of a texture subresource with the specified hardware format and extent.
LLGL_EXPORT bool LLGL::IsMipMappedTexture (const TextureDescriptor &textureDesc)
 Returns true if the specified texture descriptor describes a texture with MIP-mapping enabled.
LLGL_EXPORT bool LLGL::IsArrayTexture (const TextureType type)
 Returns true if the specified texture type is an array texture.
LLGL_EXPORT bool LLGL::IsMultiSampleTexture (const TextureType type)
 Returns true if the specified texture type is a multi-sample texture.
LLGL_EXPORT bool LLGL::IsCubeTexture (const TextureType type)
 Returns true if the specified texture type is a cube texture.
LLGL_EXPORT bool LLGL::IsTextureSwizzleIdentity (const TextureSwizzleRGBA &swizzle)
 Returns true if the specified texture swizzling is equal to the identity mapping.