diff options
Diffstat (limited to 'thirdparty/etc2comp/EtcBlock4x4Encoding_RGBA8.h')
-rw-r--r-- | thirdparty/etc2comp/EtcBlock4x4Encoding_RGBA8.h | 121 |
1 files changed, 0 insertions, 121 deletions
diff --git a/thirdparty/etc2comp/EtcBlock4x4Encoding_RGBA8.h b/thirdparty/etc2comp/EtcBlock4x4Encoding_RGBA8.h deleted file mode 100644 index 5765d36b90..0000000000 --- a/thirdparty/etc2comp/EtcBlock4x4Encoding_RGBA8.h +++ /dev/null @@ -1,121 +0,0 @@ -/* - * Copyright 2015 The Etc2Comp Authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#pragma once - -#include "EtcBlock4x4Encoding_RGB8.h" - -namespace Etc -{ - class Block4x4EncodingBits_A8; - - // ################################################################################ - // Block4x4Encoding_RGBA8 - // RGBA8 if not completely opaque or transparent - // ################################################################################ - - class Block4x4Encoding_RGBA8 : public Block4x4Encoding_RGB8 - { - public: - - Block4x4Encoding_RGBA8(void); - virtual ~Block4x4Encoding_RGBA8(void); - - virtual void InitFromSource(Block4x4 *a_pblockParent, - ColorFloatRGBA *a_pafrgbaSource, - unsigned char *a_paucEncodingBits, ErrorMetric a_errormetric); - - virtual void InitFromEncodingBits(Block4x4 *a_pblockParent, - unsigned char *a_paucEncodingBits, - ColorFloatRGBA *a_pafrgbaSource, - ErrorMetric a_errormetric); - - virtual void PerformIteration(float a_fEffort); - - virtual void SetEncodingBits(void); - - protected: - - static const unsigned int MODIFIER_TABLE_ENTRYS = 16; - static const unsigned int ALPHA_SELECTOR_BITS = 3; - static const unsigned int ALPHA_SELECTORS = 1 << ALPHA_SELECTOR_BITS; - - static float s_aafModifierTable[MODIFIER_TABLE_ENTRYS][ALPHA_SELECTORS]; - - void CalculateA8(float a_fRadius); - - Block4x4EncodingBits_A8 *m_pencodingbitsA8; // A8 portion of Block4x4EncodingBits_RGBA8 - - float m_fBase; - float m_fMultiplier; - unsigned int m_uiModifierTableIndex; - unsigned int m_auiAlphaSelectors[PIXELS]; - - private: - - inline float DecodePixelAlpha(float a_fBase, float a_fMultiplier, - unsigned int a_uiTableIndex, unsigned int a_uiSelector) - { - float fPixelAlpha = a_fBase + - a_fMultiplier*s_aafModifierTable[a_uiTableIndex][a_uiSelector]; - if (fPixelAlpha < 0.0f) - { - fPixelAlpha = 0.0f; - } - else if (fPixelAlpha > 1.0f) - { - fPixelAlpha = 1.0f; - } - - return fPixelAlpha; - } - - }; - - // ################################################################################ - // Block4x4Encoding_RGBA8_Opaque - // RGBA8 if all pixels have alpha==1 - // ################################################################################ - - class Block4x4Encoding_RGBA8_Opaque : public Block4x4Encoding_RGBA8 - { - public: - - virtual void PerformIteration(float a_fEffort); - - virtual void SetEncodingBits(void); - - }; - - // ################################################################################ - // Block4x4Encoding_RGBA8_Transparent - // RGBA8 if all pixels have alpha==0 - // ################################################################################ - - class Block4x4Encoding_RGBA8_Transparent : public Block4x4Encoding_RGBA8 - { - public: - - virtual void PerformIteration(float a_fEffort); - - virtual void SetEncodingBits(void); - - }; - - // ---------------------------------------------------------------------------------------------------- - // - -} // namespace Etc |