The rounded version of ToPixelSpace is used for lines, boxes and fonts where it matters to
actually render at exact pixel positions to get sharp lines, boxes or font rendering.
View code on GitHub Namespace: DeltaEngine.ScreenSpacesAssembly: DeltaEngine (in DeltaEngine.dll) Version: 1.1.1.0 (1.1.1)
public Vector2D ToPixelSpaceRounded(
Vector2D quadraticPosition
)
public Vector2D ToPixelSpaceRounded(
Vector2D quadraticPosition
)
Public Function ToPixelSpaceRounded (
quadraticPosition As Vector2D
) As Vector2D
Public Function ToPixelSpaceRounded (
quadraticPosition As Vector2D
) As Vector2D
public:
Vector2D ToPixelSpaceRounded(
Vector2D quadraticPosition
)
public:
Vector2D ToPixelSpaceRounded(
Vector2D quadraticPosition
)
member ToPixelSpaceRounded :
quadraticPosition : Vector2D -> Vector2D
member ToPixelSpaceRounded :
quadraticPosition : Vector2D -> Vector2D
Return Value
Type:
Vector2DTests:
DeltaEngine.Tests.ScreenSpaces.QuadraticScreenSpaceTests1 unit tests call DeltaEngine.ScreenSpaces.ScreenSpace.ToPixelSpaceRounded(DeltaEngine.Datatypes.Vector2D)
[Test]
public void ToPixelInFullHdResolution()
{
window.ViewportPixelSize = new Size(1920, 1080);
var screen = new QuadraticScreenSpace(window);
Assert.AreEqual(new Vector2D(1680, 1500), screen.ToPixelSpace(new Vector2D(0.875f, 1f)));
var somePoint = screen.FromPixelSpace(new Vector2D(324, 483));
var somePointPlusOne = screen.FromPixelSpace(new Vector2D(325, 483));
Assert.IsFalse(somePoint.X.IsNearlyEqual(somePointPlusOne.X),
somePoint + " should not be nearly equal to " + somePointPlusOne);
Assert.AreEqual(new Vector2D(324, 483), screen.ToPixelSpaceRounded(somePoint));
Assert.AreEqual(new Vector2D(325, 483), screen.ToPixelSpaceRounded(somePointPlusOne));
}
[Test]
public void ToPixelInFullHdResolution()
{
window.ViewportPixelSize = new Size(1920, 1080);
var screen = new QuadraticScreenSpace(window);
Assert.AreEqual(new Vector2D(1680, 1500), screen.ToPixelSpace(new Vector2D(0.875f, 1f)));
var somePoint = screen.FromPixelSpace(new Vector2D(324, 483));
var somePointPlusOne = screen.FromPixelSpace(new Vector2D(325, 483));
Assert.IsFalse(somePoint.X.IsNearlyEqual(somePointPlusOne.X),
somePoint + " should not be nearly equal to " + somePointPlusOne);
Assert.AreEqual(new Vector2D(324, 483), screen.ToPixelSpaceRounded(somePoint));
Assert.AreEqual(new Vector2D(325, 483), screen.ToPixelSpaceRounded(somePointPlusOne));
}