|
@@ -30,8 +30,7 @@ void Game::render(float lag) {
|
|
|
GL::setViewport(64, 64);
|
|
|
noiceShader.use();
|
|
|
noiceBuffer.bindAndClear();
|
|
|
- float interHeight = Utils::interpolate(oldHeight, height, lag);
|
|
|
- noiceShader.setFloat("height", interHeight * 0.005f);
|
|
|
+ noiceShader.setFloat("height", oldHeight * 0.5);
|
|
|
for(int i = 0; i < 64; i++) {
|
|
|
noiceShader.setFloat("layer", i * (1.0f / 63.0f));
|
|
|
noiceBuffer.bindLayer(i);
|
|
@@ -48,9 +47,8 @@ void Game::render(float lag) {
|
|
|
Matrix m;
|
|
|
m.translate(interPos);
|
|
|
m.translateZ(-32.0f);
|
|
|
- m.translateY(-32.0f);
|
|
|
+ m.translateY(-32.0f + (height - oldHeight) * lag);
|
|
|
m.translateX(-32.0f);
|
|
|
-
|
|
|
shader.setMatrix("view", m.getValues());
|
|
|
|
|
|
if(toggle.isDown()) {
|
|
@@ -65,13 +63,13 @@ void Game::render(float lag) {
|
|
|
void Game::tick() {
|
|
|
oldHeight = height;
|
|
|
oldPosition = position;
|
|
|
- const float speed = 2.5f;
|
|
|
if(up.isDown()) {
|
|
|
- height += speed;
|
|
|
+ height -= 1.0f;
|
|
|
}
|
|
|
if(down.isDown()) {
|
|
|
- height -= speed;
|
|
|
+ height += 1.0f;
|
|
|
}
|
|
|
+ const float speed = 2.5f;
|
|
|
if(left.isDown()) {
|
|
|
position += Vector3(speed, 0.0f, 0.0f);
|
|
|
}
|