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); }
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)); }