Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ Invert() [1/2]

static Matrix Microsoft.Xna.Framework.Matrix.Invert ( Matrix matrix)
inlinestatic

Definition at line 1694 of file Matrix.cs.

1695 {
1696 float m = matrix.M11;
1697 float m2 = matrix.M12;
1698 float m3 = matrix.M13;
1699 float m4 = matrix.M14;
1700 float m5 = matrix.M21;
1701 float m6 = matrix.M22;
1702 float m7 = matrix.M23;
1703 float m8 = matrix.M24;
1704 float m9 = matrix.M31;
1705 float m10 = matrix.M32;
1706 float m11 = matrix.M33;
1707 float m12 = matrix.M34;
1708 float m13 = matrix.M41;
1709 float m14 = matrix.M42;
1710 float m15 = matrix.M43;
1711 float m16 = matrix.M44;
1712 float num = m11 * m16 - m12 * m15;
1713 float num2 = m10 * m16 - m12 * m14;
1714 float num3 = m10 * m15 - m11 * m14;
1715 float num4 = m9 * m16 - m12 * m13;
1716 float num5 = m9 * m15 - m11 * m13;
1717 float num6 = m9 * m14 - m10 * m13;
1718 float num7 = m6 * num - m7 * num2 + m8 * num3;
1719 float num8 = 0f - (m5 * num - m7 * num4 + m8 * num5);
1720 float num9 = m5 * num2 - m6 * num4 + m8 * num6;
1721 float num10 = 0f - (m5 * num3 - m6 * num5 + m7 * num6);
1722 float num11 = 1f / (m * num7 + m2 * num8 + m3 * num9 + m4 * num10);
1723 Matrix result = default(Matrix);
1724 result.M11 = num7 * num11;
1725 result.M21 = num8 * num11;
1726 result.M31 = num9 * num11;
1727 result.M41 = num10 * num11;
1728 result.M12 = (0f - (m2 * num - m3 * num2 + m4 * num3)) * num11;
1729 result.M22 = (m * num - m3 * num4 + m4 * num5) * num11;
1730 result.M32 = (0f - (m * num2 - m2 * num4 + m4 * num6)) * num11;
1731 result.M42 = (m * num3 - m2 * num5 + m3 * num6) * num11;
1732 float num12 = m7 * m16 - m8 * m15;
1733 float num13 = m6 * m16 - m8 * m14;
1734 float num14 = m6 * m15 - m7 * m14;
1735 float num15 = m5 * m16 - m8 * m13;
1736 float num16 = m5 * m15 - m7 * m13;
1737 float num17 = m5 * m14 - m6 * m13;
1738 result.M13 = (m2 * num12 - m3 * num13 + m4 * num14) * num11;
1739 result.M23 = (0f - (m * num12 - m3 * num15 + m4 * num16)) * num11;
1740 result.M33 = (m * num13 - m2 * num15 + m4 * num17) * num11;
1741 result.M43 = (0f - (m * num14 - m2 * num16 + m3 * num17)) * num11;
1742 float num18 = m7 * m12 - m8 * m11;
1743 float num19 = m6 * m12 - m8 * m10;
1744 float num20 = m6 * m11 - m7 * m10;
1745 float num21 = m5 * m12 - m8 * m9;
1746 float num22 = m5 * m11 - m7 * m9;
1747 float num23 = m5 * m10 - m6 * m9;
1748 result.M14 = (0f - (m2 * num18 - m3 * num19 + m4 * num20)) * num11;
1749 result.M24 = (m * num18 - m3 * num21 + m4 * num22) * num11;
1750 result.M34 = (0f - (m * num19 - m2 * num21 + m4 * num23)) * num11;
1751 result.M44 = (m * num20 - m2 * num22 + m3 * num23) * num11;
1752 return result;
1753 }
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)
Definition Matrix.cs:210

References Microsoft.Xna.Framework.Matrix.M11, Microsoft.Xna.Framework.Matrix.M12, Microsoft.Xna.Framework.Matrix.M13, Microsoft.Xna.Framework.Matrix.M14, Microsoft.Xna.Framework.Matrix.M21, Microsoft.Xna.Framework.Matrix.M22, Microsoft.Xna.Framework.Matrix.M23, Microsoft.Xna.Framework.Matrix.M24, Microsoft.Xna.Framework.Matrix.M31, Microsoft.Xna.Framework.Matrix.M32, Microsoft.Xna.Framework.Matrix.M33, Microsoft.Xna.Framework.Matrix.M34, Microsoft.Xna.Framework.Matrix.M41, Microsoft.Xna.Framework.Matrix.M42, Microsoft.Xna.Framework.Matrix.M43, and Microsoft.Xna.Framework.Matrix.M44.

Referenced by Terraria.GameContent.ObjectInteractions.AHoverInteractionChecker.AttemptInteraction(), Terraria.Graphics.Effects.FilterManager.EndCapture(), Terraria.GameInput.PlayerInput.HandleDpadSnap(), Terraria.Graphics.SpriteViewMatrix.Rebuild(), Microsoft.Xna.Framework.Graphics.EffectHelpers.SetLightingMatrices(), Microsoft.Xna.Framework.Plane.Transform(), Microsoft.Xna.Framework.Plane.Transform(), Terraria.Main.TryInteractingWithMoneyTrough(), Terraria.Main.TryInteractingWithVoidLens(), and Microsoft.Xna.Framework.Graphics.Viewport.Unproject().