Normand Briere
2019-11-07 f868664f7e7626f651e6ade9c9f6863851ef43b7
Camera.java
....@@ -382,13 +382,24 @@
382382 {
383383 double K = 0.25;
384384
385
- if (!CameraPane.capsLocked)
385
+ if (!CameraPane.capsLocked || CameraPane.ambientOcclusion)
386386 K = 1;
387387
388388 locationBuf.y = location.y * K + locationBuf.y * (1 - K);
389389 lookAtBuf.y = lookAt.y * K + lookAtBuf.y * (1 - K);
390390
391
- K = 0.1;
391
+ int Y = 1;
392
+
393
+ if (UP.y < 0)
394
+ Y = -1;
395
+
396
+ UP.x = 0 * K + UP.x * (1 - K);
397
+ UP.y = Y * K + UP.y * (1 - K);
398
+ UP.z = 0 * K + UP.z * (1 - K);
399
+ UP.normalize();
400
+
401
+ if (CameraPane.capsLocked && !CameraPane.ambientOcclusion)
402
+ K = 0.1;
392403
393404 upBuf.x = UP.x * K + upBuf.x * (1 - K);
394405 upBuf.y = UP.y * K + upBuf.y * (1 - K);