private float[] CalculateSRT3x4(BfresLibrary.TexSrt texSrt)
        {
            var m = CalculateSRT2x3(texSrt);

            return(new float[12]
            {
                m[0], m[2], m[4], 0.0f,
                m[1], m[3], m[5], 0.0f,
                0.0f, 0.0f, 1.0f, 0.0f,
            });
        }
        private float[] CalculateSRT2x3(BfresLibrary.TexSrt texSrt)
        {
            var   scaling   = texSrt.Scaling;
            var   translate = texSrt.Translation;
            float cosR      = (float)Math.Cos(texSrt.Rotation);
            float sinR      = (float)Math.Sin(texSrt.Rotation);
            float scalingXC = scaling.X * cosR;
            float scalingXS = scaling.X * sinR;
            float scalingYC = scaling.Y * cosR;
            float scalingYS = scaling.Y * sinR;

            switch (texSrt.Mode)
            {
            default:
            case BfresLibrary.TexSrtMode.ModeMaya:
                return(new float[8]
                {
                    scalingXC, -scalingYS,
                    scalingXS, scalingYC,
                    -0.5f * (scalingXC + scalingXS - scaling.X) - scaling.X * translate.X, -0.5f * (scalingYC - scalingYS + scaling.Y) + scaling.Y * translate.Y + 1.0f,
                    0.0f, 0.0f,
                });

            case BfresLibrary.TexSrtMode.Mode3dsMax:
                return(new float[8]
                {
                    scalingXC, -scalingYS,
                    scalingXS, scalingYC,
                    -scalingXC * (translate.X + 0.5f) + scalingXS * (translate.Y - 0.5f) + 0.5f, scalingYS *(translate.X + 0.5f) + scalingYC * (translate.Y - 0.5f) + 0.5f,
                    0.0f, 0.0f
                });

            case BfresLibrary.TexSrtMode.ModeSoftimage:
                return(new float[8]
                {
                    scalingXC, scalingYS,
                    -scalingXS, scalingYC,
                    scalingXS - scalingXC * translate.X - scalingXS * translate.Y, -scalingYC - scalingYS * translate.X + scalingYC * translate.Y + 1.0f,
                    0.0f, 0.0f,
                });
            }
        }