Paradox Game Engine  v1.0.0 beta06
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros Pages
BC6HBC7.cpp File Reference
#include "directxtexp.h"
#include "BC.h"

Go to the source code of this file.

Namespaces

 DirectX
 

Functions

static bool DirectX::IsFixUpOffset (_In_range_(0, 2) size_t uPartitions, _In_range_(0, 63) size_t uShape, _In_range_(0, 15) size_t uOffset)
 
static void DirectX::TransformForward (_Inout_updates_all_(BC6H_MAX_REGIONS) INTEndPntPair aEndPts[])
 
static void DirectX::TransformInverse (_Inout_updates_all_(BC6H_MAX_REGIONS) INTEndPntPair aEndPts[], _In_ const LDRColorA &Prec, _In_ bool bSigned)
 
static float DirectX::Norm (_In_ const INTColor &a, _In_ const INTColor &b)
 
static int DirectX::NBits (_In_ int n, _In_ bool bIsSigned)
 
static float DirectX::OptimizeRGB (_In_reads_(NUM_PIXELS_PER_BLOCK) const HDRColorA *const pPoints, _Out_ HDRColorA *pX, _Out_ HDRColorA *pY, _In_ size_t cSteps, _In_ size_t cPixels, _In_reads_(cPixels) const size_t *pIndex)
 
static float DirectX::OptimizeRGBA (_In_reads_(NUM_PIXELS_PER_BLOCK) const HDRColorA *const pPoints, _Out_ HDRColorA *pX, _Out_ HDRColorA *pY, _In_ size_t cSteps, _In_ size_t cPixels, _In_reads_(cPixels) const size_t *pIndex)
 
static float DirectX::ComputeError (_Inout_ const LDRColorA &pixel, _In_reads_(1<< uIndexPrec) const LDRColorA aPalette[], _In_ uint8_t uIndexPrec, _In_ uint8_t uIndexPrec2, _Out_opt_ size_t *pBestIndex=nullptr, _Out_opt_ size_t *pBestIndex2=nullptr)
 
static void DirectX::FillWithErrorColors (_Out_writes_(NUM_PIXELS_PER_BLOCK) HDRColorA *pOut)
 
_Use_decl_annotations_ void DirectX::D3DXDecodeBC6HU (XMVECTOR *pColor, const uint8_t *pBC)
 
_Use_decl_annotations_ void DirectX::D3DXDecodeBC6HS (XMVECTOR *pColor, const uint8_t *pBC)
 
_Use_decl_annotations_ void DirectX::D3DXEncodeBC6HU (uint8_t *pBC, const XMVECTOR *pColor, DWORD flags)
 
_Use_decl_annotations_ void DirectX::D3DXEncodeBC6HS (uint8_t *pBC, const XMVECTOR *pColor, DWORD flags)
 
_Use_decl_annotations_ void DirectX::D3DXDecodeBC7 (XMVECTOR *pColor, const uint8_t *pBC)
 
_Use_decl_annotations_ void DirectX::D3DXEncodeBC7 (uint8_t *pBC, const XMVECTOR *pColor, DWORD flags)
 

Variables

static const float DirectX::fEpsilon = (0.25f / 64.0f) * (0.25f / 64.0f)
 
static const float DirectX::pC3 [] = { 2.0f/2.0f, 1.0f/2.0f, 0.0f/2.0f }
 
static const float DirectX::pD3 [] = { 0.0f/2.0f, 1.0f/2.0f, 2.0f/2.0f }
 
static const float DirectX::pC4 [] = { 3.0f/3.0f, 2.0f/3.0f, 1.0f/3.0f, 0.0f/3.0f }
 
static const float DirectX::pD4 [] = { 0.0f/3.0f, 1.0f/3.0f, 2.0f/3.0f, 3.0f/3.0f }
 
static const uint8_t DirectX::g_aPartitionTable [3][64][16]
 
static const uint8_t DirectX::g_aFixUp [3][64][3]