Cogs.Core
Public Member Functions | Public Attributes | List of all members
Cogs::TextureData Struct Reference

Public Member Functions

 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
 

Detailed Description

Definition at line 55 of file TextureData.h.

Constructor & Destructor Documentation

◆ TextureData() [1/2]

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

Definition at line 67 of file TextureData.cpp.

◆ TextureData() [2/2]

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

Definition at line 81 of file TextureData.cpp.

Member Function Documentation

◆ clearData()

void Cogs::TextureData::clearData ( )

Definition at line 119 of file TextureData.cpp.

◆ getBlockCount()

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

Definition at line 189 of file TextureData.cpp.

◆ getData() [1/4]

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

Definition at line 72 of file TextureData.h.

◆ getData() [2/4]

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

Definition at line 73 of file TextureData.h.

◆ getData() [3/4]

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

Definition at line 137 of file TextureData.cpp.

◆ getData() [4/4]

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

Definition at line 144 of file TextureData.cpp.

◆ getExtent()

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

Definition at line 180 of file TextureData.cpp.

◆ getFaceSize()

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

Definition at line 161 of file TextureData.cpp.

◆ getLayerSize()

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

Definition at line 170 of file TextureData.cpp.

◆ getLevelSize()

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

Definition at line 154 of file TextureData.cpp.

◆ getOffset()

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

Definition at line 198 of file TextureData.cpp.

◆ getPitch()

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

Definition at line 149 of file TextureData.cpp.

◆ getSize()

size_t Cogs::TextureData::getSize ( ) const

Definition at line 175 of file TextureData.cpp.

◆ init()

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

Definition at line 87 of file TextureData.cpp.

◆ initExternal() [1/2]

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

Definition at line 107 of file TextureData.cpp.

◆ initExternal() [2/2]

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

Definition at line 102 of file TextureData.cpp.

◆ initOffsets()

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

Definition at line 212 of file TextureData.cpp.

Member Data Documentation

◆ blockCount

TextureExtent Cogs::TextureData::blockCount

Definition at line 95 of file TextureData.h.

◆ blockExtent

TextureExtent Cogs::TextureData::blockExtent

Definition at line 94 of file TextureData.h.

◆ blockSize

size_t Cogs::TextureData::blockSize = 0

Definition at line 93 of file TextureData.h.

◆ data

Memory::MemoryBuffer Cogs::TextureData::data

Definition at line 99 of file TextureData.h.

◆ extent

TextureExtent Cogs::TextureData::extent

Definition at line 96 of file TextureData.h.

◆ externalHandle

intptr_t Cogs::TextureData::externalHandle = 0

Definition at line 100 of file TextureData.h.

◆ faces

size_t Cogs::TextureData::faces = 0

Definition at line 90 of file TextureData.h.

◆ format

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

Definition at line 87 of file TextureData.h.

◆ layers

size_t Cogs::TextureData::layers = 0

Definition at line 89 of file TextureData.h.

◆ levels

size_t Cogs::TextureData::levels = 0

Definition at line 91 of file TextureData.h.

◆ offsets

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

Definition at line 98 of file TextureData.h.


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