move S and D relative to looking direction
This commit is contained in:
parent
bbcc7b855a
commit
07f0142a1a
38
src/main.c
38
src/main.c
|
@ -125,17 +125,43 @@ void handleInputs(double deltaTime) {
|
|||
|
||||
}
|
||||
if (glfwGetKey(window, GLFW_KEY_D) == GLFW_PRESS) {
|
||||
cameraPosition.x += deltaTime * 10;
|
||||
vec4 delta;
|
||||
mat4 transform;
|
||||
|
||||
vec3Subtract((vec3*)&delta, &origin, &cameraPosition);
|
||||
delta.y = 0;
|
||||
vec3Normalise((vec3*)&delta, (vec3*)&delta);
|
||||
vec3Multiply((vec3*)&delta, (vec3*)&delta, -10);
|
||||
|
||||
rotationY(&transform, pi / 2);
|
||||
multiplyAny((GLfloat*)&delta, (GLfloat*)&transform, (GLfloat*)&delta, 4, 4, 1);
|
||||
|
||||
vec3Multiply((vec3*)&delta, (vec3*)&delta, deltaTime);
|
||||
|
||||
vec3Add(&cameraPosition, &cameraPosition, (vec3*)&delta);
|
||||
}
|
||||
if (glfwGetKey(window, GLFW_KEY_A) == GLFW_PRESS) {
|
||||
cameraPosition.x -= deltaTime * 10;
|
||||
vec4 delta;
|
||||
mat4 transform;
|
||||
|
||||
vec3Subtract((vec3*)&delta, &origin, &cameraPosition);
|
||||
delta.y = 0;
|
||||
vec3Normalise((vec3*)&delta, (vec3*)&delta);
|
||||
vec3Multiply((vec3*)&delta, (vec3*)&delta, 10);
|
||||
|
||||
rotationY(&transform, pi / 2);
|
||||
multiplyAny((GLfloat*)&delta, (GLfloat*)&transform, (GLfloat*)&delta, 4, 4, 1);
|
||||
|
||||
vec3Multiply((vec3*)&delta, (vec3*)&delta, deltaTime);
|
||||
|
||||
vec3Add(&cameraPosition, &cameraPosition, (vec3*)&delta);
|
||||
}
|
||||
if (glfwGetKey(window, GLFW_KEY_F) == GLFW_PRESS) {
|
||||
cameraPosition.y += deltaTime * 10;
|
||||
}
|
||||
if (glfwGetKey(window, GLFW_KEY_R) == GLFW_PRESS) {
|
||||
if (glfwGetKey(window, GLFW_KEY_F) == GLFW_PRESS || glfwGetKey(window, GLFW_KEY_LEFT_SHIFT) == GLFW_PRESS) {
|
||||
cameraPosition.y -= deltaTime * 10;
|
||||
}
|
||||
if (glfwGetKey(window, GLFW_KEY_R) == GLFW_PRESS || glfwGetKey(window, GLFW_KEY_SPACE) == GLFW_PRESS) {
|
||||
cameraPosition.y += deltaTime * 10;
|
||||
}
|
||||
}
|
||||
|
||||
SceneNode* chalkboard = findNodeByName("myChalkboard1", rootNode);
|
||||
|
|
Loading…
Reference in New Issue