From b46e12dab8dfd6340f1104773ba474c8cbbbe174 Mon Sep 17 00:00:00 2001 From: "Bart van Blokland (on MECHANINJA)" Date: Wed, 23 Aug 2017 16:42:15 +0200 Subject: [PATCH] Changed key polling method from a callback to per-frame --- gloom/src/gloom/camera.hpp | 1 + gloom/src/program.cpp | 11 ++++------- gloom/src/program.hpp | 5 ++--- 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/gloom/src/gloom/camera.hpp b/gloom/src/gloom/camera.hpp index fde98c6..bbfe338 100644 --- a/gloom/src/gloom/camera.hpp +++ b/gloom/src/gloom/camera.hpp @@ -7,6 +7,7 @@ #include #include #include +#include namespace Gloom diff --git a/gloom/src/program.cpp b/gloom/src/program.cpp index 259077d..e1e6d02 100644 --- a/gloom/src/program.cpp +++ b/gloom/src/program.cpp @@ -5,9 +5,6 @@ void runProgram(GLFWwindow* window) { - // Set GLFW callback mechanism(s) - glfwSetKeyCallback(window, keyboardCallback); - // Enable depth (Z) buffer (accept "closest" fragment) glEnable(GL_DEPTH_TEST); glDepthFunc(GL_LESS); @@ -16,7 +13,7 @@ void runProgram(GLFWwindow* window) glEnable(GL_CULL_FACE); // Set default colour after clearing the colour buffer - glClearColor(0.3f, 0.3f, 0.4f, 1.0f); + glClearColor(0.3f, 0.5f, 0.8f, 1.0f); // Set up your scene here (create Vertex Array Objects, etc.) @@ -30,6 +27,7 @@ void runProgram(GLFWwindow* window) // Handle other events glfwPollEvents(); + handleKeyboardInput(window); // Flip buffers glfwSwapBuffers(window); @@ -37,11 +35,10 @@ void runProgram(GLFWwindow* window) } -void keyboardCallback(GLFWwindow* window, int key, int scancode, - int action, int mods) +void handleKeyboardInput(GLFWwindow* window) { // Use escape key for terminating the GLFW window - if (key == GLFW_KEY_ESCAPE && action == GLFW_PRESS) + if (glfwGetKey(window, GLFW_KEY_ESCAPE) == GLFW_PRESS) { glfwSetWindowShouldClose(window, GL_TRUE); } diff --git a/gloom/src/program.hpp b/gloom/src/program.hpp index a978e07..e38b73b 100644 --- a/gloom/src/program.hpp +++ b/gloom/src/program.hpp @@ -13,9 +13,8 @@ void runProgram(GLFWwindow* window); -// GLFW callback mechanisms -void keyboardCallback(GLFWwindow* window, int key, int scancode, - int action, int mods); +// Function for handling keypresses +void handleKeyboardInput(GLFWwindow* window); // Checks for whether an OpenGL error occurred. If one did,