Diligent Engine
 
Loading...
Searching...
No Matches
Diligent::TextureFormatAttribs Struct Reference

Describes invariant texture format attributes. More...

#include <GraphicsTypes.h>

Inheritance diagram for Diligent::TextureFormatAttribs:
Diligent::TextureFormatInfo Diligent::TextureFormatInfoExt

Public Member Functions

Uint32 GetElementSize () const
 
constexpr TextureFormatAttribs (const Char *_Name, TEXTURE_FORMAT _Format, Uint8 _ComponentSize, Uint8 _NumComponents, COMPONENT_TYPE _ComponentType, bool _IsTypeless, Uint8 _BlockWidth, Uint8 _BlockHeight) noexcept
 Initializes the structure.
 

Public Attributes

const Char * Name = "TEX_FORMAT_UNKNOWN"
 
TEXTURE_FORMAT Format = TEX_FORMAT_UNKNOWN
 Texture format, see Diligent::TEXTURE_FORMAT for a list of supported texture formats.
 
Uint8 ComponentSize = 0
 
Uint8 NumComponents = 0
 Number of components.
 
COMPONENT_TYPE ComponentType = COMPONENT_TYPE_UNDEFINED
 Component type, see Diligent::COMPONENT_TYPE for details.
 
Bool IsTypeless = false
 Bool flag indicating if the format is a typeless format.
 
Uint8 BlockWidth = 0
 For block-compressed formats, compression block width.
 
Uint8 BlockHeight = 0
 For block-compressed formats, compression block height.
 

Detailed Description

Describes invariant texture format attributes.

These attributes are intrinsic to the texture format itself and do not depend on the format support.

Member Function Documentation

◆ GetElementSize()

Uint32 Diligent::TextureFormatAttribs::GetElementSize ( ) const
inline

For non-compressed formats, returns the texel size. For block-compressed formats, returns the block size.

Member Data Documentation

◆ ComponentSize

Uint8 Diligent::TextureFormatAttribs::ComponentSize = 0

Size of one component in bytes (for instance, for TEX_FORMAT_RGBA8_UNORM format, this will be 1) For compressed formats, this is the block size in bytes (for TEX_FORMAT_BC1_UNORM format, this will be 8)

◆ Name

const Char* Diligent::TextureFormatAttribs::Name = "TEX_FORMAT_UNKNOWN"

Literal texture format name (for instance, for TEX_FORMAT_RGBA8_UNORM format, this will be "TEX_FORMAT_RGBA8_UNORM")