|
@@ -28,11 +28,11 @@ pointIndex(0), moveSpeed(0.125f), movedLength(0.0f), mode(Mode::AUTO) {
|
|
v.setAngles(i * 360.0f / cameraPoints.getCapacity(), 0.0f).mul(mid * 0.5f).add(offset);
|
|
v.setAngles(i * 360.0f / cameraPoints.getCapacity(), 0.0f).mul(mid * 0.5f).add(offset);
|
|
|
|
|
|
q.mul(Quaternion(Vector(r.nextFloat() * 360.0f, r.nextFloat() * -90.0f), -5.0f));
|
|
q.mul(Quaternion(Vector(r.nextFloat() * 360.0f, r.nextFloat() * -90.0f), -5.0f));
|
|
- cameraPoints.add({v, q, 0.0f});
|
|
+ cameraPoints.add( {v, q, 0.0f});
|
|
}
|
|
}
|
|
for(uint i = 0; i < cameraPoints.getLength(); i++) {
|
|
for(uint i = 0; i < cameraPoints.getLength(); i++) {
|
|
cameraPoints[i].distance = distance(i, 10000);
|
|
cameraPoints[i].distance = distance(i, 10000);
|
|
- }
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
void Game::tick() {
|
|
void Game::tick() {
|
|
@@ -83,6 +83,16 @@ void Game::tick() {
|
|
}
|
|
}
|
|
} else if(mode == Mode::AUTO) {
|
|
} else if(mode == Mode::AUTO) {
|
|
movedLength += moveSpeed;
|
|
movedLength += moveSpeed;
|
|
|
|
+
|
|
|
|
+ if(control.keys.camUp.isDown()) {
|
|
|
|
+ moveSpeed += 0.0125f;
|
|
|
|
+ }
|
|
|
|
+ if(control.keys.camDown.isDown()) {
|
|
|
|
+ moveSpeed -= 0.0125f;
|
|
|
|
+ if(moveSpeed < 0.0f) {
|
|
|
|
+ moveSpeed = 0.0f;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
if(control.keys.test.isDown()) {
|
|
if(control.keys.test.isDown()) {
|
|
@@ -109,7 +119,7 @@ void Game::renderWorld(float lag, Renderer& renderer) const {
|
|
index = (index + 1) % cameraPoints.getLength();
|
|
index = (index + 1) % cameraPoints.getLength();
|
|
}
|
|
}
|
|
float t = leftLength / cameraPoints[index].distance;
|
|
float t = leftLength / cameraPoints[index].distance;
|
|
- Vector interpolatedPos = pointUntilDistance(leftLength, index, 10000);
|
|
+ Vector interpolatedPos = pointUntilDistance(leftLength, index, 4000);
|
|
renderer.update(interpolatedPos, cameraPoints[index].q.slerp(t, cameraPoints[(index + 1) % cameraPoints.getLength()].q));
|
|
renderer.update(interpolatedPos, cameraPoints[index].q.slerp(t, cameraPoints[(index + 1) % cameraPoints.getLength()].q));
|
|
pos = interpolatedPos;
|
|
pos = interpolatedPos;
|
|
} else if(mode == Mode::PLAYER) {
|
|
} else if(mode == Mode::PLAYER) {
|