コード例 #1
0
        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);
        }
コード例 #2
0
        // </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);
            }
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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);
        }