Blender  V3.3
Typedefs | Functions
FlipDXT.cpp File Reference
#include "IMB_imbuf_types.h"
#include <cstring>
#include <BlockDXT.h>
#include <ColorBlock.h>
#include <Common.h>
#include <FlipDXT.h>
#include <Stream.h>

Go to the source code of this file.

Typedefs

using FlipBlockFunction = void(*)(uint8_t *block)
 

Functions

static void FlipDXT1BlockFull (uint8_t *block)
 
static void FlipDXT1BlockHalf (uint8_t *block)
 
static void FlipDXT3BlockFull (uint8_t *block)
 
static void FlipDXT3BlockHalf (uint8_t *block)
 
static void FlipDXT5BlockFull (uint8_t *block)
 
static void FlipDXT5BlockHalf (uint8_t *block)
 
int FlipDXTCImage (unsigned int width, unsigned int height, unsigned int levels, int fourcc, uint8_t *data, int data_size, unsigned int *r_num_valid_levels)
 

Detailed Description

This file comes from the chromium project, adapted to Blender to add DDS flipping to OpenGL convention for Blender.

Definition in file FlipDXT.cpp.

Typedef Documentation

◆ FlipBlockFunction

using FlipBlockFunction = void (*)(uint8_t *block)

Definition at line 21 of file FlipDXT.cpp.

Function Documentation

◆ FlipDXT1BlockFull()

static void FlipDXT1BlockFull ( uint8_t block)
static

Definition at line 24 of file FlipDXT.cpp.

Referenced by FlipDXT3BlockFull(), FlipDXT5BlockFull(), and FlipDXTCImage().

◆ FlipDXT1BlockHalf()

static void FlipDXT1BlockHalf ( uint8_t block)
static

Definition at line 41 of file FlipDXT.cpp.

Referenced by FlipDXT3BlockHalf(), FlipDXT5BlockHalf(), and FlipDXTCImage().

◆ FlipDXT3BlockFull()

static void FlipDXT3BlockFull ( uint8_t block)
static

Definition at line 50 of file FlipDXT.cpp.

References FlipDXT1BlockFull().

Referenced by FlipDXTCImage().

◆ FlipDXT3BlockHalf()

static void FlipDXT3BlockHalf ( uint8_t block)
static

Definition at line 76 of file FlipDXT.cpp.

References FlipDXT1BlockHalf().

Referenced by FlipDXTCImage().

◆ FlipDXT5BlockFull()

static void FlipDXT5BlockFull ( uint8_t block)
static

Definition at line 90 of file FlipDXT.cpp.

References FlipDXT1BlockFull().

Referenced by FlipDXTCImage().

◆ FlipDXT5BlockHalf()

static void FlipDXT5BlockHalf ( uint8_t block)
static

Definition at line 133 of file FlipDXT.cpp.

References FlipDXT1BlockHalf().

Referenced by FlipDXTCImage().

◆ FlipDXTCImage()

int FlipDXTCImage ( unsigned int  width,
unsigned int  height,
unsigned int  levels,
int  fourcc,
uint8_t data,
int  data_size,
unsigned int *  r_num_valid_levels 
)

Flips a DXTC image, by flipping and swapping DXTC blocks as appropriate.

Use to flip vertically to fit OpenGL convention.

Definition at line 144 of file FlipDXT.cpp.

References data, FlipDXT1BlockFull(), FlipDXT1BlockHalf(), FlipDXT3BlockFull(), FlipDXT3BlockHalf(), FlipDXT5BlockFull(), FlipDXT5BlockHalf(), FOURCC_DXT1, FOURCC_DXT3, FOURCC_DXT5, height, MAX, width, and y.

Referenced by imb_load_dds().