@@ -547,57 +547,6 @@ static CGU_Vec2i CMP_FindEndpointsAlphaBlockSnorm(CGU_FLOAT alphaBlockSnorm[])
547
547
return endpoints;
548
548
}
549
549
550
- static uint64_t cmp_getBlockPackedIndicesSNorm (CGU_Vec2f alphaMinMax, const float alphaBlockSnorm[], uint64_t data)
551
- {
552
- CGU_FLOAT alpha[8 ];
553
- alpha[0 ] = alphaMinMax.x ;
554
- alpha[1 ] = alphaMinMax.y ;
555
-
556
- if (alphaMinMax.x > alphaMinMax.y )
557
- {
558
- // 8-alpha block: derive the other six alphas.
559
- // Bit code 000 = alpha_0, 001 = alpha_1, others are interpolated.
560
- alpha[2 ] = (alpha[0 ] * 6 .0f + alpha[1 ]) / 7 .0f ;
561
- alpha[3 ] = (alpha[0 ] * 5 .0f + alpha[1 ] * 2 .0f ) / 7 .0f ;
562
- alpha[4 ] = (alpha[0 ] * 4 .0f + alpha[1 ] * 3 .0f ) / 7 .0f ;
563
- alpha[5 ] = (alpha[0 ] * 3 .0f + alpha[1 ] * 4 .0f ) / 7 .0f ;
564
- alpha[6 ] = (alpha[0 ] * 2 .0f + alpha[1 ] * 5 .0f ) / 7 .0f ;
565
- alpha[7 ] = (alpha[0 ] + alpha[1 ] * 6 .0f ) / 7 .0f ;
566
- }
567
- else
568
- {
569
- // 6-alpha block.
570
- // Bit code 000 = alpha_0, 001 = alpha_1, others are interpolated.
571
- alpha[2 ] = (alpha[0 ] * 4 .0f + alpha[1 ]) / 5 .0f ;
572
- alpha[3 ] = (alpha[0 ] * 3 .0f + alpha[1 ] * 2 .0f ) / 5 .0f ;
573
- alpha[4 ] = (alpha[0 ] * 2 .0f + alpha[1 ] * 3 .0f ) / 5 .0f ;
574
- alpha[5 ] = (alpha[0 ] + alpha[1 ] * 4 .0f ) / 5 .0f ;
575
- alpha[6 ] = -1 .0f ;
576
- alpha[7 ] = 1 .0f ;
577
- }
578
-
579
- // Index all colors using best alpha value
580
- for (CGU_UINT8 i = 0 ; i < BLOCK_SIZE_4X4; ++i)
581
- {
582
- CGU_UINT8 uBestIndex = 0 ;
583
- CGU_FLOAT fBestDelta = CMP_FLOAT_MAX;
584
- for (CGU_INT32 uIndex = 0 ; uIndex < 8 ; uIndex++)
585
- {
586
- CGU_FLOAT fCurrentDelta = fabsf (alpha[uIndex] - alphaBlockSnorm[i]);
587
- if (fCurrentDelta < fBestDelta )
588
- {
589
- uBestIndex = (CGU_UINT8)(uIndex);
590
- fBestDelta = fCurrentDelta ;
591
- }
592
- }
593
-
594
- data &= ~(uint64_t (0x07 ) << (3 * i + 16 ));
595
- data |= (uint64_t (uBestIndex) << (3 * i + 16 ));
596
- }
597
-
598
- return data;
599
- }
600
-
601
550
// =============================================================================
602
551
603
552
CodecError CCodec_DXTC::CompressAlphaBlockSNorm (CMP_FLOAT alphaBlockSnorm[BLOCK_SIZE_4X4], CMP_DWORD compressedBlock[2 ])
0 commit comments