Pyrogenesis  13997
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
S3tcBlock Class Reference

Public Member Functions

 S3tcBlock (size_t dxt, const u8 *RESTRICT block)
 
void WritePixel (size_t pixel_idx, u8 *RESTRICT out) const
 

Private Types

enum  RGBA { R, G, B, A }
 

Private Member Functions

void PrecalculateAlpha (size_t dxt, const u8 *RESTRICT a_block)
 
void PrecalculateColor (size_t dxt, const u8 *RESTRICT c_block)
 

Static Private Member Functions

static void mix_2_3 (size_t dst[4], size_t c0[4], size_t c1[4])
 
static void mix_avg (size_t dst[4], size_t c0[4], size_t c1[4])
 
template<typename T >
static size_t access_bit_tbl (T tbl, size_t idx, size_t bit_width)
 
static size_t unpack_to_8 (u16 c, size_t bits_below, size_t num_bits)
 

Private Attributes

size_t c [4][4]
 
u8 dxt5_a_tbl [8]
 
u64 a_bits
 
u32 c_selectors
 
size_t dxt
 

Detailed Description

Definition at line 50 of file tex_dds.cpp.

Member Enumeration Documentation

enum S3tcBlock::RGBA
private
Enumerator
R 
G 
B 
A 

Definition at line 100 of file tex_dds.cpp.

Constructor & Destructor Documentation

S3tcBlock::S3tcBlock ( size_t  dxt,
const u8 *RESTRICT  block 
)
inline

Definition at line 53 of file tex_dds.cpp.

Member Function Documentation

template<typename T >
static size_t S3tcBlock::access_bit_tbl ( T  tbl,
size_t  idx,
size_t  bit_width 
)
inlinestaticprivate

Definition at line 113 of file tex_dds.cpp.

static void S3tcBlock::mix_2_3 ( size_t  dst[4],
size_t  c0[4],
size_t  c1[4] 
)
inlinestaticprivate

Definition at line 102 of file tex_dds.cpp.

static void S3tcBlock::mix_avg ( size_t  dst[4],
size_t  c0[4],
size_t  c1[4] 
)
inlinestaticprivate

Definition at line 107 of file tex_dds.cpp.

void S3tcBlock::PrecalculateAlpha ( size_t  dxt,
const u8 *RESTRICT  a_block 
)
inlineprivate

Definition at line 131 of file tex_dds.cpp.

void S3tcBlock::PrecalculateColor ( size_t  dxt,
const u8 *RESTRICT  c_block 
)
inlineprivate

Definition at line 170 of file tex_dds.cpp.

static size_t S3tcBlock::unpack_to_8 ( u16  c,
size_t  bits_below,
size_t  num_bits 
)
inlinestaticprivate

Definition at line 123 of file tex_dds.cpp.

void S3tcBlock::WritePixel ( size_t  pixel_idx,
u8 *RESTRICT  out 
) const
inline

Definition at line 64 of file tex_dds.cpp.

Member Data Documentation

u64 S3tcBlock::a_bits
private

Definition at line 212 of file tex_dds.cpp.

size_t S3tcBlock::c[4][4]
private

Definition at line 206 of file tex_dds.cpp.

u32 S3tcBlock::c_selectors
private

Definition at line 215 of file tex_dds.cpp.

size_t S3tcBlock::dxt
private

Definition at line 217 of file tex_dds.cpp.

u8 S3tcBlock::dxt5_a_tbl[8]
private

Definition at line 209 of file tex_dds.cpp.


The documentation for this class was generated from the following file: