1480 {
1481 float num = rotation.X + rotation.X;
1482 float num2 = rotation.Y + rotation.Y;
1483 float num3 = rotation.Z + rotation.Z;
1484 float num4 = rotation.W * num;
1485 float num5 = rotation.W * num2;
1486 float num6 = rotation.W * num3;
1487 float num7 = rotation.X * num;
1488 float num8 = rotation.X * num2;
1489 float num9 = rotation.X * num3;
1490 float num10 = rotation.Y * num2;
1491 float num11 = rotation.Y * num3;
1492 float num12 = rotation.Z * num3;
1493 float num13 = 1f - num10 - num12;
1494 float num14 = num8 - num6;
1495 float num15 = num9 + num5;
1496 float num16 = num8 + num6;
1497 float num17 = 1f - num7 - num12;
1498 float num18 = num11 - num4;
1499 float num19 = num9 - num5;
1500 float num20 = num11 + num4;
1501 float num21 = 1f - num7 - num10;
1503 result.M11 = value.M11 * num13 + value.M12 * num14 + value.M13 * num15;
1504 result.M12 = value.M11 * num16 + value.M12 * num17 + value.M13 * num18;
1505 result.M13 = value.M11 * num19 + value.M12 * num20 + value.M13 * num21;
1506 result.M14 =
value.M14;
1507 result.M21 = value.M21 * num13 + value.M22 * num14 + value.M23 * num15;
1508 result.M22 = value.M21 * num16 + value.M22 * num17 + value.M23 * num18;
1509 result.M23 = value.M21 * num19 + value.M22 * num20 + value.M23 * num21;
1510 result.M24 =
value.M24;
1511 result.M31 = value.M31 * num13 + value.M32 * num14 + value.M33 * num15;
1512 result.M32 = value.M31 * num16 + value.M32 * num17 + value.M33 * num18;
1513 result.M33 = value.M31 * num19 + value.M32 * num20 + value.M33 * num21;
1514 result.M34 =
value.M34;
1515 result.M41 = value.M41 * num13 + value.M42 * num14 + value.M43 * num15;
1516 result.M42 = value.M41 * num16 + value.M42 * num17 + value.M43 * num18;
1517 result.M43 = value.M41 * num19 + value.M42 * num20 + value.M43 * num21;
1518 result.M44 =
value.M44;
1519 return result;
1520 }
Matrix(float m11, float m12, float m13, float m14, float m21, float m22, float m23, float m24, float m31, float m32, float m33, float m34, float m41, float m42, float m43, float m44)