// @ts-ignore import mat4 from 'gl-mat4'; /** * Updates the camera position depending on keyboard input * @param {any} context the program context */ export function updateCamera(context: any) { const mat = mat4.create(); mat4.rotateY(mat, mat, context.params.camRot.y); if (context.params.keyboard.a) { context.params.camPos.x += mat[0]; context.params.camPos.y += mat[4]; context.params.camPos.z += mat[8]; } if (context.params.keyboard.d) { context.params.camPos.x -= mat[0]; context.params.camPos.y -= mat[4]; context.params.camPos.z -= mat[8]; } if (context.params.keyboard.space) { context.params.camPos.y -= 1; } if (context.params.keyboard.shift) { context.params.camPos.y += 1; } if (context.params.keyboard.w) { context.params.camPos.x += mat[2]; context.params.camPos.y += mat[6]; context.params.camPos.z += mat[10]; } if (context.params.keyboard.s) { context.params.camPos.x -= mat[2]; context.params.camPos.y -= mat[6]; context.params.camPos.z -= mat[10]; } }