diff --git a/build.gradle b/build.gradle index 0ce25576..8b9dbccc 100644 --- a/build.gradle +++ b/build.gradle @@ -37,10 +37,10 @@ plugins { //} project.ext { - openrndrVersion = "0.3.35" + openrndrVersion = "0.3.36" kotlinVersion = "1.3.50" spekVersion = "2.0.6" - libfreenectVersion = "0.5.7-1.5.1" + libfreenectVersion = "0.5.7-1.5.2" } allprojects { diff --git a/orx-camera/src/main/kotlin/OrbitalCamera.kt b/orx-camera/src/main/kotlin/OrbitalCamera.kt index fbfff4e6..c1c56a28 100644 --- a/orx-camera/src/main/kotlin/OrbitalCamera.kt +++ b/orx-camera/src/main/kotlin/OrbitalCamera.kt @@ -39,7 +39,7 @@ class OrbitalCamera(eye: Vector3 = Vector3.ZERO, lookAt: Vector3 = Vector3.UNIT_ } fun rotate(rotX: Double, rotY: Double) { - sphericalEnd += Spherical(0.0, rotX, rotY) + sphericalEnd += Spherical(rotX, rotY, 0.0) sphericalEnd = sphericalEnd.makeSafe() dirty = true } @@ -67,7 +67,7 @@ class OrbitalCamera(eye: Vector3 = Vector3.ZERO, lookAt: Vector3 = Vector3.UNIT_ } fun dolly(distance: Double) { - sphericalEnd += Spherical(distance, 0.0, 0.0) + sphericalEnd += Spherical(0.0, 0.0, distance) dirty = true } diff --git a/orx-camera/src/main/kotlin/OrbitalControls.kt b/orx-camera/src/main/kotlin/OrbitalControls.kt index f845daee..a0b7ddf5 100644 --- a/orx-camera/src/main/kotlin/OrbitalControls.kt +++ b/orx-camera/src/main/kotlin/OrbitalControls.kt @@ -40,15 +40,15 @@ class OrbitalControls(val orbitalCamera: OrbitalCamera , val userInteraction: Bo val offset = Vector3.fromSpherical(orbitalCamera.spherical) - orbitalCamera.lookAt // half of the fov is center to top of screen - val targetDistance = offset.length * tan((fov / 2) * PI / 180) + val targetDistance = offset.length * tan((Math.toRadians((fov) / 2) ) ) val panX = (2 * delta.x * targetDistance / program.window.size.x) val panY = (2 * delta.y * targetDistance / program.window.size.y) orbitalCamera.pan(panX, -panY, 0.0) } else { - val rotX = 2 * PI * delta.x / program.window.size.x - val rotY = 2 * PI * delta.y / program.window.size.y + val rotX = 360.0 * delta.x / program.window.size.x + val rotY = 360.0 * delta.y / program.window.size.y orbitalCamera.rotate(rotX, rotY) }