nuclear@0: /* ----------------------------------------------------------------------------- nuclear@0: nuclear@0: PicoModel Library nuclear@0: nuclear@0: Copyright (c) 2002, Randy Reddig & seaw0lf nuclear@0: All rights reserved. nuclear@0: nuclear@0: Redistribution and use in source and binary forms, with or without modification, nuclear@0: are permitted provided that the following conditions are met: nuclear@0: nuclear@0: Redistributions of source code must retain the above copyright notice, this list nuclear@0: of conditions and the following disclaimer. nuclear@0: nuclear@0: Redistributions in binary form must reproduce the above copyright notice, this nuclear@0: list of conditions and the following disclaimer in the documentation and/or nuclear@0: other materials provided with the distribution. nuclear@0: nuclear@0: Neither the names of the copyright holders nor the names of its contributors may nuclear@0: be used to endorse or promote products derived from this software without nuclear@0: specific prior written permission. nuclear@0: nuclear@0: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND nuclear@0: ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED nuclear@0: WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE nuclear@0: DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR nuclear@0: ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES nuclear@0: (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; nuclear@0: LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON nuclear@0: ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT nuclear@0: (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS nuclear@0: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. nuclear@0: nuclear@0: ----------------------------------------------------------------------------- */ nuclear@0: nuclear@0: #if (!defined MDC_NORMAL_TABLE_INCLUDED) nuclear@0: #define MDC_NORMAL_TABLE_INCLUDED nuclear@0: nuclear@0: /* mdc decoding normal table */ nuclear@0: float mdcNormals[ 256 ][ 3 ] = nuclear@0: { nuclear@0: { 1.000000f, 0.000000f, 0.000000f }, nuclear@0: { 0.980785f, 0.195090f, 0.000000f }, nuclear@0: { 0.923880f, 0.382683f, 0.000000f }, nuclear@0: { 0.831470f, 0.555570f, 0.000000f }, nuclear@0: { 0.707107f, 0.707107f, 0.000000f }, nuclear@0: { 0.555570f, 0.831470f, 0.000000f }, nuclear@0: { 0.382683f, 0.923880f, 0.000000f }, nuclear@0: { 0.195090f, 0.980785f, 0.000000f }, nuclear@0: { -0.000000f, 1.000000f, 0.000000f }, nuclear@0: { -0.195090f, 0.980785f, 0.000000f }, nuclear@0: { -0.382683f, 0.923880f, 0.000000f }, nuclear@0: { -0.555570f, 0.831470f, 0.000000f }, nuclear@0: { -0.707107f, 0.707107f, 0.000000f }, nuclear@0: { -0.831470f, 0.555570f, 0.000000f }, nuclear@0: { -0.923880f, 0.382683f, 0.000000f }, nuclear@0: { -0.980785f, 0.195090f, 0.000000f }, nuclear@0: { -1.000000f, -0.000000f, 0.000000f }, nuclear@0: { -0.980785f, -0.195090f, 0.000000f }, nuclear@0: { -0.923880f, -0.382683f, 0.000000f }, nuclear@0: { -0.831470f, -0.555570f, 0.000000f }, nuclear@0: { -0.707107f, -0.707107f, 0.000000f }, nuclear@0: { -0.555570f, -0.831469f, 0.000000f }, nuclear@0: { -0.382684f, -0.923880f, 0.000000f }, nuclear@0: { -0.195090f, -0.980785f, 0.000000f }, nuclear@0: { 0.000000f, -1.000000f, 0.000000f }, nuclear@0: { 0.195090f, -0.980785f, 0.000000f }, nuclear@0: { 0.382684f, -0.923879f, 0.000000f }, nuclear@0: { 0.555570f, -0.831470f, 0.000000f }, nuclear@0: { 0.707107f, -0.707107f, 0.000000f }, nuclear@0: { 0.831470f, -0.555570f, 0.000000f }, nuclear@0: { 0.923880f, -0.382683f, 0.000000f }, nuclear@0: { 0.980785f, -0.195090f, 0.000000f }, nuclear@0: { 0.980785f, 0.000000f, -0.195090f }, nuclear@0: { 0.956195f, 0.218245f, -0.195090f }, nuclear@0: { 0.883657f, 0.425547f, -0.195090f }, nuclear@0: { 0.766809f, 0.611510f, -0.195090f }, nuclear@0: { 0.611510f, 0.766809f, -0.195090f }, nuclear@0: { 0.425547f, 0.883657f, -0.195090f }, nuclear@0: { 0.218245f, 0.956195f, -0.195090f }, nuclear@0: { -0.000000f, 0.980785f, -0.195090f }, nuclear@0: { -0.218245f, 0.956195f, -0.195090f }, nuclear@0: { -0.425547f, 0.883657f, -0.195090f }, nuclear@0: { -0.611510f, 0.766809f, -0.195090f }, nuclear@0: { -0.766809f, 0.611510f, -0.195090f }, nuclear@0: { -0.883657f, 0.425547f, -0.195090f }, nuclear@0: { -0.956195f, 0.218245f, -0.195090f }, nuclear@0: { -0.980785f, -0.000000f, -0.195090f }, nuclear@0: { -0.956195f, -0.218245f, -0.195090f }, nuclear@0: { -0.883657f, -0.425547f, -0.195090f }, nuclear@0: { -0.766809f, -0.611510f, -0.195090f }, nuclear@0: { -0.611510f, -0.766809f, -0.195090f }, nuclear@0: { -0.425547f, -0.883657f, -0.195090f }, nuclear@0: { -0.218245f, -0.956195f, -0.195090f }, nuclear@0: { 0.000000f, -0.980785f, -0.195090f }, nuclear@0: { 0.218245f, -0.956195f, -0.195090f }, nuclear@0: { 0.425547f, -0.883657f, -0.195090f }, nuclear@0: { 0.611510f, -0.766809f, -0.195090f }, nuclear@0: { 0.766809f, -0.611510f, -0.195090f }, nuclear@0: { 0.883657f, -0.425547f, -0.195090f }, nuclear@0: { 0.956195f, -0.218245f, -0.195090f }, nuclear@0: { 0.923880f, 0.000000f, -0.382683f }, nuclear@0: { 0.892399f, 0.239118f, -0.382683f }, nuclear@0: { 0.800103f, 0.461940f, -0.382683f }, nuclear@0: { 0.653281f, 0.653281f, -0.382683f }, nuclear@0: { 0.461940f, 0.800103f, -0.382683f }, nuclear@0: { 0.239118f, 0.892399f, -0.382683f }, nuclear@0: { -0.000000f, 0.923880f, -0.382683f }, nuclear@0: { -0.239118f, 0.892399f, -0.382683f }, nuclear@0: { -0.461940f, 0.800103f, -0.382683f }, nuclear@0: { -0.653281f, 0.653281f, -0.382683f }, nuclear@0: { -0.800103f, 0.461940f, -0.382683f }, nuclear@0: { -0.892399f, 0.239118f, -0.382683f }, nuclear@0: { -0.923880f, -0.000000f, -0.382683f }, nuclear@0: { -0.892399f, -0.239118f, -0.382683f }, nuclear@0: { -0.800103f, -0.461940f, -0.382683f }, nuclear@0: { -0.653282f, -0.653281f, -0.382683f }, nuclear@0: { -0.461940f, -0.800103f, -0.382683f }, nuclear@0: { -0.239118f, -0.892399f, -0.382683f }, nuclear@0: { 0.000000f, -0.923880f, -0.382683f }, nuclear@0: { 0.239118f, -0.892399f, -0.382683f }, nuclear@0: { 0.461940f, -0.800103f, -0.382683f }, nuclear@0: { 0.653281f, -0.653282f, -0.382683f }, nuclear@0: { 0.800103f, -0.461940f, -0.382683f }, nuclear@0: { 0.892399f, -0.239117f, -0.382683f }, nuclear@0: { 0.831470f, 0.000000f, -0.555570f }, nuclear@0: { 0.790775f, 0.256938f, -0.555570f }, nuclear@0: { 0.672673f, 0.488726f, -0.555570f }, nuclear@0: { 0.488726f, 0.672673f, -0.555570f }, nuclear@0: { 0.256938f, 0.790775f, -0.555570f }, nuclear@0: { -0.000000f, 0.831470f, -0.555570f }, nuclear@0: { -0.256938f, 0.790775f, -0.555570f }, nuclear@0: { -0.488726f, 0.672673f, -0.555570f }, nuclear@0: { -0.672673f, 0.488726f, -0.555570f }, nuclear@0: { -0.790775f, 0.256938f, -0.555570f }, nuclear@0: { -0.831470f, -0.000000f, -0.555570f }, nuclear@0: { -0.790775f, -0.256938f, -0.555570f }, nuclear@0: { -0.672673f, -0.488726f, -0.555570f }, nuclear@0: { -0.488725f, -0.672673f, -0.555570f }, nuclear@0: { -0.256938f, -0.790775f, -0.555570f }, nuclear@0: { 0.000000f, -0.831470f, -0.555570f }, nuclear@0: { 0.256938f, -0.790775f, -0.555570f }, nuclear@0: { 0.488725f, -0.672673f, -0.555570f }, nuclear@0: { 0.672673f, -0.488726f, -0.555570f }, nuclear@0: { 0.790775f, -0.256938f, -0.555570f }, nuclear@0: { 0.707107f, 0.000000f, -0.707107f }, nuclear@0: { 0.653281f, 0.270598f, -0.707107f }, nuclear@0: { 0.500000f, 0.500000f, -0.707107f }, nuclear@0: { 0.270598f, 0.653281f, -0.707107f }, nuclear@0: { -0.000000f, 0.707107f, -0.707107f }, nuclear@0: { -0.270598f, 0.653282f, -0.707107f }, nuclear@0: { -0.500000f, 0.500000f, -0.707107f }, nuclear@0: { -0.653281f, 0.270598f, -0.707107f }, nuclear@0: { -0.707107f, -0.000000f, -0.707107f }, nuclear@0: { -0.653281f, -0.270598f, -0.707107f }, nuclear@0: { -0.500000f, -0.500000f, -0.707107f }, nuclear@0: { -0.270598f, -0.653281f, -0.707107f }, nuclear@0: { 0.000000f, -0.707107f, -0.707107f }, nuclear@0: { 0.270598f, -0.653281f, -0.707107f }, nuclear@0: { 0.500000f, -0.500000f, -0.707107f }, nuclear@0: { 0.653282f, -0.270598f, -0.707107f }, nuclear@0: { 0.555570f, 0.000000f, -0.831470f }, nuclear@0: { 0.481138f, 0.277785f, -0.831470f }, nuclear@0: { 0.277785f, 0.481138f, -0.831470f }, nuclear@0: { -0.000000f, 0.555570f, -0.831470f }, nuclear@0: { -0.277785f, 0.481138f, -0.831470f }, nuclear@0: { -0.481138f, 0.277785f, -0.831470f }, nuclear@0: { -0.555570f, -0.000000f, -0.831470f }, nuclear@0: { -0.481138f, -0.277785f, -0.831470f }, nuclear@0: { -0.277785f, -0.481138f, -0.831470f }, nuclear@0: { 0.000000f, -0.555570f, -0.831470f }, nuclear@0: { 0.277785f, -0.481138f, -0.831470f }, nuclear@0: { 0.481138f, -0.277785f, -0.831470f }, nuclear@0: { 0.382683f, 0.000000f, -0.923880f }, nuclear@0: { 0.270598f, 0.270598f, -0.923880f }, nuclear@0: { -0.000000f, 0.382683f, -0.923880f }, nuclear@0: { -0.270598f, 0.270598f, -0.923880f }, nuclear@0: { -0.382683f, -0.000000f, -0.923880f }, nuclear@0: { -0.270598f, -0.270598f, -0.923880f }, nuclear@0: { 0.000000f, -0.382683f, -0.923880f }, nuclear@0: { 0.270598f, -0.270598f, -0.923880f }, nuclear@0: { 0.195090f, 0.000000f, -0.980785f }, nuclear@0: { -0.000000f, 0.195090f, -0.980785f }, nuclear@0: { -0.195090f, -0.000000f, -0.980785f }, nuclear@0: { 0.000000f, -0.195090f, -0.980785f }, nuclear@0: { 0.980785f, 0.000000f, 0.195090f }, nuclear@0: { 0.956195f, 0.218245f, 0.195090f }, nuclear@0: { 0.883657f, 0.425547f, 0.195090f }, nuclear@0: { 0.766809f, 0.611510f, 0.195090f }, nuclear@0: { 0.611510f, 0.766809f, 0.195090f }, nuclear@0: { 0.425547f, 0.883657f, 0.195090f }, nuclear@0: { 0.218245f, 0.956195f, 0.195090f }, nuclear@0: { -0.000000f, 0.980785f, 0.195090f }, nuclear@0: { -0.218245f, 0.956195f, 0.195090f }, nuclear@0: { -0.425547f, 0.883657f, 0.195090f }, nuclear@0: { -0.611510f, 0.766809f, 0.195090f }, nuclear@0: { -0.766809f, 0.611510f, 0.195090f }, nuclear@0: { -0.883657f, 0.425547f, 0.195090f }, nuclear@0: { -0.956195f, 0.218245f, 0.195090f }, nuclear@0: { -0.980785f, -0.000000f, 0.195090f }, nuclear@0: { -0.956195f, -0.218245f, 0.195090f }, nuclear@0: { -0.883657f, -0.425547f, 0.195090f }, nuclear@0: { -0.766809f, -0.611510f, 0.195090f }, nuclear@0: { -0.611510f, -0.766809f, 0.195090f }, nuclear@0: { -0.425547f, -0.883657f, 0.195090f }, nuclear@0: { -0.218245f, -0.956195f, 0.195090f }, nuclear@0: { 0.000000f, -0.980785f, 0.195090f }, nuclear@0: { 0.218245f, -0.956195f, 0.195090f }, nuclear@0: { 0.425547f, -0.883657f, 0.195090f }, nuclear@0: { 0.611510f, -0.766809f, 0.195090f }, nuclear@0: { 0.766809f, -0.611510f, 0.195090f }, nuclear@0: { 0.883657f, -0.425547f, 0.195090f }, nuclear@0: { 0.956195f, -0.218245f, 0.195090f }, nuclear@0: { 0.923880f, 0.000000f, 0.382683f }, nuclear@0: { 0.892399f, 0.239118f, 0.382683f }, nuclear@0: { 0.800103f, 0.461940f, 0.382683f }, nuclear@0: { 0.653281f, 0.653281f, 0.382683f }, nuclear@0: { 0.461940f, 0.800103f, 0.382683f }, nuclear@0: { 0.239118f, 0.892399f, 0.382683f }, nuclear@0: { -0.000000f, 0.923880f, 0.382683f }, nuclear@0: { -0.239118f, 0.892399f, 0.382683f }, nuclear@0: { -0.461940f, 0.800103f, 0.382683f }, nuclear@0: { -0.653281f, 0.653281f, 0.382683f }, nuclear@0: { -0.800103f, 0.461940f, 0.382683f }, nuclear@0: { -0.892399f, 0.239118f, 0.382683f }, nuclear@0: { -0.923880f, -0.000000f, 0.382683f }, nuclear@0: { -0.892399f, -0.239118f, 0.382683f }, nuclear@0: { -0.800103f, -0.461940f, 0.382683f }, nuclear@0: { -0.653282f, -0.653281f, 0.382683f }, nuclear@0: { -0.461940f, -0.800103f, 0.382683f }, nuclear@0: { -0.239118f, -0.892399f, 0.382683f }, nuclear@0: { 0.000000f, -0.923880f, 0.382683f }, nuclear@0: { 0.239118f, -0.892399f, 0.382683f }, nuclear@0: { 0.461940f, -0.800103f, 0.382683f }, nuclear@0: { 0.653281f, -0.653282f, 0.382683f }, nuclear@0: { 0.800103f, -0.461940f, 0.382683f }, nuclear@0: { 0.892399f, -0.239117f, 0.382683f }, nuclear@0: { 0.831470f, 0.000000f, 0.555570f }, nuclear@0: { 0.790775f, 0.256938f, 0.555570f }, nuclear@0: { 0.672673f, 0.488726f, 0.555570f }, nuclear@0: { 0.488726f, 0.672673f, 0.555570f }, nuclear@0: { 0.256938f, 0.790775f, 0.555570f }, nuclear@0: { -0.000000f, 0.831470f, 0.555570f }, nuclear@0: { -0.256938f, 0.790775f, 0.555570f }, nuclear@0: { -0.488726f, 0.672673f, 0.555570f }, nuclear@0: { -0.672673f, 0.488726f, 0.555570f }, nuclear@0: { -0.790775f, 0.256938f, 0.555570f }, nuclear@0: { -0.831470f, -0.000000f, 0.555570f }, nuclear@0: { -0.790775f, -0.256938f, 0.555570f }, nuclear@0: { -0.672673f, -0.488726f, 0.555570f }, nuclear@0: { -0.488725f, -0.672673f, 0.555570f }, nuclear@0: { -0.256938f, -0.790775f, 0.555570f }, nuclear@0: { 0.000000f, -0.831470f, 0.555570f }, nuclear@0: { 0.256938f, -0.790775f, 0.555570f }, nuclear@0: { 0.488725f, -0.672673f, 0.555570f }, nuclear@0: { 0.672673f, -0.488726f, 0.555570f }, nuclear@0: { 0.790775f, -0.256938f, 0.555570f }, nuclear@0: { 0.707107f, 0.000000f, 0.707107f }, nuclear@0: { 0.653281f, 0.270598f, 0.707107f }, nuclear@0: { 0.500000f, 0.500000f, 0.707107f }, nuclear@0: { 0.270598f, 0.653281f, 0.707107f }, nuclear@0: { -0.000000f, 0.707107f, 0.707107f }, nuclear@0: { -0.270598f, 0.653282f, 0.707107f }, nuclear@0: { -0.500000f, 0.500000f, 0.707107f }, nuclear@0: { -0.653281f, 0.270598f, 0.707107f }, nuclear@0: { -0.707107f, -0.000000f, 0.707107f }, nuclear@0: { -0.653281f, -0.270598f, 0.707107f }, nuclear@0: { -0.500000f, -0.500000f, 0.707107f }, nuclear@0: { -0.270598f, -0.653281f, 0.707107f }, nuclear@0: { 0.000000f, -0.707107f, 0.707107f }, nuclear@0: { 0.270598f, -0.653281f, 0.707107f }, nuclear@0: { 0.500000f, -0.500000f, 0.707107f }, nuclear@0: { 0.653282f, -0.270598f, 0.707107f }, nuclear@0: { 0.555570f, 0.000000f, 0.831470f }, nuclear@0: { 0.481138f, 0.277785f, 0.831470f }, nuclear@0: { 0.277785f, 0.481138f, 0.831470f }, nuclear@0: { -0.000000f, 0.555570f, 0.831470f }, nuclear@0: { -0.277785f, 0.481138f, 0.831470f }, nuclear@0: { -0.481138f, 0.277785f, 0.831470f }, nuclear@0: { -0.555570f, -0.000000f, 0.831470f }, nuclear@0: { -0.481138f, -0.277785f, 0.831470f }, nuclear@0: { -0.277785f, -0.481138f, 0.831470f }, nuclear@0: { 0.000000f, -0.555570f, 0.831470f }, nuclear@0: { 0.277785f, -0.481138f, 0.831470f }, nuclear@0: { 0.481138f, -0.277785f, 0.831470f }, nuclear@0: { 0.382683f, 0.000000f, 0.923880f }, nuclear@0: { 0.270598f, 0.270598f, 0.923880f }, nuclear@0: { -0.000000f, 0.382683f, 0.923880f }, nuclear@0: { -0.270598f, 0.270598f, 0.923880f }, nuclear@0: { -0.382683f, -0.000000f, 0.923880f }, nuclear@0: { -0.270598f, -0.270598f, 0.923880f }, nuclear@0: { 0.000000f, -0.382683f, 0.923880f }, nuclear@0: { 0.270598f, -0.270598f, 0.923880f }, nuclear@0: { 0.195090f, 0.000000f, 0.980785f }, nuclear@0: { -0.000000f, 0.195090f, 0.980785f }, nuclear@0: { -0.195090f, -0.000000f, 0.980785f }, nuclear@0: { 0.000000f, -0.195090f, 0.980785f } nuclear@0: }; nuclear@0: nuclear@0: #endif // !! MDC_NORMAL_TABLE_INCLUDED