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

Texture loading information. More...

#include <TextureLoader.h>

Public Attributes

const Char * Name = nullptr
 Texture name passed over to the texture creation method.
 
USAGE Usage = USAGE_IMMUTABLE
 Usage.
 
BIND_FLAGS BindFlags = BIND_SHADER_RESOURCE
 Bind flags.
 
Uint32 MipLevels = 0
 Number of mip levels.
 
CPU_ACCESS_FLAGS CPUAccessFlags = CPU_ACCESS_NONE
 CPU access flags.
 
Bool IsSRGB = False
 Flag indicating if this texture uses sRGB gamma encoding.
 
Bool GenerateMips = True
 Flag indicating that the procedure should generate lower mip levels.
 
Bool FlipVertically = False
 Flag indicating that the image should be flipped vertically.
 
Bool PermultiplyAlpha = False
 Flag indicating that RGB channels should be premultiplied by alpha.
 
TEXTURE_FORMAT Format = TEX_FORMAT_UNKNOWN
 Texture format.
 
float AlphaCutoff = 0
 
TEXTURE_LOAD_MIP_FILTER MipFilter = TEXTURE_LOAD_MIP_FILTER_DEFAULT
 Coarse mip filter type, see Diligent::TEXTURE_LOAD_MIP_FILTER.
 
TEXTURE_LOAD_COMPRESS_MODE CompressMode = TEXTURE_LOAD_COMPRESS_MODE_NONE
 Texture compression mode, see Diligent::TEXTURE_LOAD_COMPRESS_MODE.
 
TextureComponentMapping Swizzle = TextureComponentMapping::Identity()
 Texture component swizzle.
 
Uint32 UniformImageClipDim = 0
 When non-zero, specifies the dimension that uniform images should be clipped to.
 
struct IMemoryAllocatorpAllocator = nullptr
 An optional memory allocator to allocate memory for the texture.
 

Detailed Description

Texture loading information.

Member Data Documentation

◆ AlphaCutoff

float Diligent::TextureLoadInfo::AlphaCutoff = 0

Alpha cut-off value used to remap alpha channel when generating mip levels as follows:

A_new = max(A_old; 1/3 * A_old + 2/3 * CutoffThreshold)
Note
This value must be in 0 to 1 range and is only allowed for 4-channel 8-bit textures.

◆ Swizzle

TextureComponentMapping Diligent::TextureLoadInfo::Swizzle = TextureComponentMapping::Identity()

Texture component swizzle.

When the number of channels in the source image is less than the number of channels in the destination texture, the following rules apply:

  • Alpha channel is always set to 1.
  • Single-channel source image is replicated to all channels.
  • Two-channel source image is replicated to RG channels, B channel is set to 0.

◆ UniformImageClipDim

Uint32 Diligent::TextureLoadInfo::UniformImageClipDim = 0

When non-zero, specifies the dimension that uniform images should be clipped to.

When this parameter is non-zero, the loader will check if all pixels in the image have the same value. If this is the case, the image will be clipped to the specified dimension.