public void CalculateFinalBlitPixelRectStretchToFitWidthWorks() { PixelPerfectCameraInternal internals = new PixelPerfectCameraInternal(new PixelPerfectCameraTestComponent()); internals.useStretchFill = true; Rect pixelRect = internals.CalculateFinalBlitPixelRect(2.0f, 200, 200); Rect expected = new Rect(0.0f, 50.0f, 200.0f, 100.0f); Assert.AreEqual(expected, pixelRect); }
// </edit> void Awake() { m_Camera = GetComponent <Camera>(); m_Internal = new PixelPerfectCameraInternal(this); m_Internal.originalOrthoSize = m_Camera.orthographicSize; m_Internal.hasPostProcessLayer = GetComponent("PostProcessLayer") != null; // query the component by name to avoid hard dependency if (m_Camera.targetTexture != null) { Debug.LogWarning("Render to texture is not supported by Pixel Perfect Camera.", m_Camera); } }
public void CalculateCameraPropertiesProvidesCorrectResultsWithVariousInputs(PixelPerfectCameraTestComponent testComponent, int screenWidth, int screenHeight, CalculateCameraPropertiesResult expected) { PixelPerfectCameraInternal internals = new PixelPerfectCameraInternal(testComponent); internals.CalculateCameraProperties(screenWidth, screenHeight); Assert.AreEqual(expected.zoom, internals.zoom); Assert.AreEqual(expected.useOffscreenRT, internals.useOffscreenRT); Assert.AreEqual(expected.offscreenRTWidth, internals.offscreenRTWidth); Assert.AreEqual(expected.offscreenRTHeight, internals.offscreenRTHeight); Assert.AreEqual(expected.pixelRect, internals.pixelRect); Assert.AreEqual(expected.orthoSize, internals.orthoSize); Assert.AreEqual(expected.unitsPerPixel, internals.unitsPerPixel); }
public void CalculateFinalBlitPixelRectStretchToFitHeightWorks() { PixelPerfectCameraTestComponent testComponent = new PixelPerfectCameraTestComponent(); testComponent.refResolutionX = 200; testComponent.refResolutionY = 100; PixelPerfectCameraInternal internals = new PixelPerfectCameraInternal(testComponent); internals.useStretchFill = true; Rect pixelRect = internals.CalculateFinalBlitPixelRect(400, 100); Rect expected = new Rect(100.0f, 0.0f, 200.0f, 100.0f); Assert.AreEqual(expected, pixelRect); }
public void CalculateFinalBlitPixelRectCenteredWorksWithoutUpscaleRT() { PixelPerfectCameraTestComponent testComponent = new PixelPerfectCameraTestComponent(); testComponent.upscaleRT = false; PixelPerfectCameraInternal internals = new PixelPerfectCameraInternal(testComponent); internals.useStretchFill = false; internals.zoom = 2; internals.offscreenRTWidth = 400; internals.offscreenRTHeight = 300; Rect pixelRect = internals.CalculateFinalBlitPixelRect(4.0f / 3.0f, 1600, 1200); Rect expected = new Rect(600.0f, 450.0f, 400.0f, 300.0f); Assert.AreEqual(expected, pixelRect); }