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

◆ CreateReflection() [2/2]

static void Microsoft.Xna.Framework.Matrix.CreateReflection ( ref Plane value,
out Matrix result )
inlinestatic

Definition at line 1336 of file Matrix.cs.

1337 {
1338 Plane.Normalize(ref value, out var result2);
1339 value.Normalize();
1340 float x = result2.Normal.X;
1341 float y = result2.Normal.Y;
1342 float z = result2.Normal.Z;
1343 float num = -2f * x;
1344 float num2 = -2f * y;
1345 float num3 = -2f * z;
1346 result.M11 = num * x + 1f;
1347 result.M12 = num2 * x;
1348 result.M13 = num3 * x;
1349 result.M14 = 0f;
1350 result.M21 = num * y;
1351 result.M22 = num2 * y + 1f;
1352 result.M23 = num3 * y;
1353 result.M24 = 0f;
1354 result.M31 = num * z;
1355 result.M32 = num2 * z;
1356 result.M33 = num3 * z + 1f;
1357 result.M34 = 0f;
1358 result.M41 = num * result2.D;
1359 result.M42 = num2 * result2.D;
1360 result.M43 = num3 * result2.D;
1361 result.M44 = 1f;
1362 }

References Microsoft.Xna.Framework.Plane.Normalize(), and System.value.