Cogs.Rendering
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
Cogs::TextureData Struct Reference

#include <TextureData.h>

Public Member Functions

 TextureData ()=default
 
 TextureData (TextureExtent extent, size_t layers, size_t faces, size_t levels, TextureFormat format, Memory::Allocator *allocator=Memory::Allocator::defaultAllocator())
 
 TextureData (const void *data, TextureExtent extent, size_t layers, size_t faces, size_t levels, TextureFormat format)
 
 TextureData (TextureData &&)=default
 
TextureDataoperator= (TextureData &&)=default
 
void init (TextureExtent extent, size_t layers, size_t faces, size_t levels, TextureFormat format, Memory::Allocator *allocator=Memory::Allocator::defaultAllocator())
 
void initExternal (intptr_t external)
 
void initExternal (const void **data, size_t layers, size_t faces, size_t levels)
 
void clearData ()
 
void * getData (size_t layer, size_t face, size_t level)
 
const void * getData (size_t layer, size_t face, size_t level) const
 
void * getData ()
 
const void * getData () const
 
size_t getPitch (size_t level) const
 
size_t getLevelSize (size_t level) const
 
size_t getFaceSize (size_t baseLevel, size_t maxLevel) const
 
size_t getLayerSize (size_t baseFace, size_t maxFace, size_t baseLevel, size_t maxLevel) const
 
size_t getSize () const
 
TextureExtent getExtent (size_t level) const
 
TextureExtent getBlockCount (size_t level) const
 
size_t getOffset (size_t layer, size_t face, size_t level) const
 
void initOffsets (const void *data)
 

Public Attributes

TextureFormat format = Cogs::TextureFormat::Unknown
 
size_t layers = 0
 
size_t faces = 0
 
size_t levels = 0
 
size_t blockSize = 0
 
TextureExtent blockExtent
 
TextureExtent blockCount
 
TextureExtent extent
 
Collections::SmallVector< const void *, 16 > offsets
 
Memory::MemoryBuffer data
 
intptr_t externalHandle = 0
 

Constructor & Destructor Documentation

◆ TextureData() [1/4]

Cogs::TextureData::TextureData ( )
default

◆ TextureData() [2/4]

Cogs::TextureData::TextureData ( TextureExtent  extent,
size_t  layers,
size_t  faces,
size_t  levels,
TextureFormat  format,
Memory::Allocator *  allocator = Memory::Allocator::defaultAllocator() 
)

◆ TextureData() [3/4]

Cogs::TextureData::TextureData ( const void *  data,
TextureExtent  extent,
size_t  layers,
size_t  faces,
size_t  levels,
TextureFormat  format 
)

References data, and initOffsets().

◆ TextureData() [4/4]

Cogs::TextureData::TextureData ( TextureData &&  )
default

Member Function Documentation

◆ clearData()

void Cogs::TextureData::clearData ( )

◆ getBlockCount()

TextureExtent Cogs::TextureData::getBlockCount ( size_t  level) const

◆ getData() [1/4]

void * Cogs::TextureData::getData ( )
inline

References getData().

Referenced by getData().

◆ getData() [2/4]

const void * Cogs::TextureData::getData ( ) const
inline

References getData().

Referenced by getData().

◆ getData() [3/4]

void * Cogs::TextureData::getData ( size_t  layer,
size_t  face,
size_t  level 
)

References data, and getOffset().

◆ getData() [4/4]

const void * Cogs::TextureData::getData ( size_t  layer,
size_t  face,
size_t  level 
) const

References faces, levels, and offsets.

◆ getExtent()

TextureExtent Cogs::TextureData::getExtent ( size_t  level) const

◆ getFaceSize()

size_t Cogs::TextureData::getFaceSize ( size_t  baseLevel,
size_t  maxLevel 
) const

References getLevelSize().

Referenced by getLayerSize(), and getOffset().

◆ getLayerSize()

size_t Cogs::TextureData::getLayerSize ( size_t  baseFace,
size_t  maxFace,
size_t  baseLevel,
size_t  maxLevel 
) const

References getFaceSize().

Referenced by getOffset(), and getSize().

◆ getLevelSize()

size_t Cogs::TextureData::getLevelSize ( size_t  level) const

References blockSize, and getBlockCount().

Referenced by getFaceSize(), and getOffset().

◆ getOffset()

size_t Cogs::TextureData::getOffset ( size_t  layer,
size_t  face,
size_t  level 
) const

◆ getPitch()

size_t Cogs::TextureData::getPitch ( size_t  level) const

◆ getSize()

size_t Cogs::TextureData::getSize ( ) const

References faces, getLayerSize(), layers, and levels.

Referenced by init().

◆ init()

void Cogs::TextureData::init ( TextureExtent  extent,
size_t  layers,
size_t  faces,
size_t  levels,
TextureFormat  format,
Memory::Allocator *  allocator = Memory::Allocator::defaultAllocator() 
)

◆ initExternal() [1/2]

void Cogs::TextureData::initExternal ( const void **  data,
size_t  layers,
size_t  faces,
size_t  levels 
)

References data, faces, layers, levels, and offsets.

◆ initExternal() [2/2]

void Cogs::TextureData::initExternal ( intptr_t  external)

References externalHandle.

◆ initOffsets()

void Cogs::TextureData::initOffsets ( const void *  data)

References data, faces, getOffset(), layers, levels, and offsets.

Referenced by init(), and TextureData().

◆ operator=()

TextureData & Cogs::TextureData::operator= ( TextureData &&  )
default

Member Data Documentation

◆ blockCount

TextureExtent Cogs::TextureData::blockCount

Referenced by clearData(), getBlockCount(), and init().

◆ blockExtent

TextureExtent Cogs::TextureData::blockExtent

Referenced by clearData(), and init().

◆ blockSize

size_t Cogs::TextureData::blockSize = 0

◆ data

Memory::MemoryBuffer Cogs::TextureData::data

◆ extent

TextureExtent Cogs::TextureData::extent

Referenced by clearData(), getExtent(), and init().

◆ externalHandle

intptr_t Cogs::TextureData::externalHandle = 0

Referenced by clearData(), and initExternal().

◆ faces

size_t Cogs::TextureData::faces = 0

◆ format

TextureFormat Cogs::TextureData::format = Cogs::TextureFormat::Unknown

Referenced by clearData(), and init().

◆ layers

size_t Cogs::TextureData::layers = 0

◆ levels

size_t Cogs::TextureData::levels = 0

◆ offsets

Collections::SmallVector<const void *, 16> Cogs::TextureData::offsets

The documentation for this struct was generated from the following files: