public void WorldToShade_AndBack_ShouldBeOriginalNormalized() { var normal = Vector3.Normalize(new Vector3(1, 5, 0)); var worldDir = Vector3.Normalize(new Vector3(1, 6, 2)); var shadeDir = ShadingSpace.WorldToShading(normal, worldDir); var worldDir2 = ShadingSpace.ShadingToWorld(normal, shadeDir); Assert.Equal(worldDir.X / worldDir.Length(), worldDir2.X, 4); Assert.Equal(worldDir.Y / worldDir.Length(), worldDir2.Y, 4); Assert.Equal(worldDir.Z / worldDir.Length(), worldDir2.Z, 4); }