From cd5559fd41973d20fed5323aa8f43f43b914c3e6 Mon Sep 17 00:00:00 2001 From: gbrochar Date: Fri, 27 Nov 2020 13:54:52 +0100 Subject: [PATCH] fix camera bug, no more camera bugs --- src/client/camera.ts | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/client/camera.ts b/src/client/camera.ts index 426af3b..d303373 100644 --- a/src/client/camera.ts +++ b/src/client/camera.ts @@ -6,12 +6,22 @@ import mat4 from 'gl-mat4'; * @param {any} context the program context */ export function updateCamera(context: any) { + const xAxis = mat4.create(); + mat4.rotateY(xAxis, xAxis, context.params.camRot.y); const xMat = mat4.create(); mat4.rotateY(xMat, xMat, context.params.camRot.y); - mat4.rotateX(xMat, xMat, context.params.camRot.x); + mat4.rotate(xMat, xMat, context.params.camRot.x, [ + xAxis[0], + xAxis[4], + xAxis[8], + ]); const zMat = mat4.create(); mat4.rotateY(zMat, zMat, context.params.camRot.y); - mat4.rotateX(zMat, zMat, context.params.camRot.x); + mat4.rotate(zMat, zMat, context.params.camRot.x, [ + xAxis[0], + xAxis[4], + xAxis[8], + ]); if (context.params.keyboard.a) { context.params.camPos.x += xMat[0]; context.params.camPos.y += xMat[4];