private static Vector3 GetSwizzeVector(Vector3 vector, SwizzleType swizzleType)
        {
            switch (swizzleType)
            {
            case SwizzleType.XZY:
                vector.Set(vector.x, vector.z, vector.y);
                break;

            case SwizzleType.YXZ:
                vector.Set(vector.z, vector.x, vector.y);
                break;

            case SwizzleType.YZX:
                vector.Set(vector.y, vector.z, vector.x);
                break;

            case SwizzleType.ZXY:
                vector.Set(vector.z, vector.x, vector.y);
                break;

            case SwizzleType.ZYX:
                vector.Set(vector.z, vector.y, vector.x);
                break;
            }

            return(vector);
        }
Example #2
0
        public static byte[] UnSwizzle(byte[] data, int width, int height, int blockSize, SwizzleType type)
        {
            if (type == SwizzleType.None)
            {
                return(data);
            }

            return(sSwizzleAlgorithms[type].UnSwizzle(data, width, height, blockSize));
        }
 /// <summary>
 /// Switch vector XYZ components with other values
 /// </summary>
 /// <param name="swizzleType">The swizzle operation to perform</param>
 public static Vector3 Swizzle(this Vector3 vector, SwizzleType swizzleType)
 {
     return(GetSwizzeVector(vector, swizzleType));
 }