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); }
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); }