public Matrix4x4 GetJitteredProjectionMatrix(Camera camera)
        {
            Matrix4x4 cameraProj;

            jitter  = GenerateRandomOffset();
            jitter *= jitterSpread;

            if (jitteredMatrixFunc != null)
            {
                cameraProj = jitteredMatrixFunc(camera, jitter);
            }
            else
            {
                cameraProj = camera.orthographic
                    ? RuntimeUtilities.GetJitteredOrthographicProjectionMatrix(camera, jitter)
                    : RuntimeUtilities.GetJitteredPerspectiveProjectionMatrix(camera, jitter);
            }

            jitter = new Vector2(jitter.x / camera.pixelWidth, jitter.y / camera.pixelHeight);
            return(cameraProj);
        }
Exemple #2
0
        public Matrix4x4 GetJitteredProjectionMatrix(Camera camera)
        {
            this.jitter  = GenerateRandomOffset();
            this.jitter *= jitterSpread;
            Matrix4x4 result  = (jitteredMatrixFunc == null) ? ((!camera.orthographic) ? RuntimeUtilities.GetJitteredPerspectiveProjectionMatrix(camera, this.jitter) : RuntimeUtilities.GetJitteredOrthographicProjectionMatrix(camera, this.jitter)) : jitteredMatrixFunc(camera, this.jitter);
            Vector2   jitter  = this.jitter;
            float     x       = jitter.x / (float)camera.pixelWidth;
            Vector2   jitter2 = this.jitter;

            this.jitter = new Vector2(x, jitter2.y / (float)camera.pixelHeight);
            return(result);
        }