[c++] GLFW의 키보드 및 마우스 입력 처리

GLFW는 OpenGL 애플리케이션을 위한 고급 윈도우 관리 라이브러리로, 키보드 및 마우스 입력 처리를 간단하고 효과적으로 수행할 수 있습니다. 이 글에서는 GLFW를 사용하여 C++로 키보드 및 마우스 입력을 처리하는 방법에 대해 설명하겠습니다.

GLFW 설치

우선 GLFW를 설치해야 합니다. GLFW 웹사이트(https://www.glfw.org/)에서 최신 버전을 다운로드하고 설치 지침에 따라 라이브러리를 시스템에 설치합니다.

GLFW 초기화

GLFW를 사용하기 위해 먼저 GLFW를 초기화해야 합니다. 이를 위해 glfwInit() 함수를 호출합니다. 이 함수는 GLFW를 초기화하고 윈도우를 생성하기 전에 호출해야 합니다.

#include <GLFW/glfw3.h>

int main() {
    // GLFW 초기화
    if (!glfwInit()) {
        // 초기화에 실패한 경우
        return -1;
    }

    // 윈도우 생성 및 입력 처리 등의 코드
}

입력 이벤트 처리

키보드 입력 처리

GLFW에서 키보드 입력은 이벤트 핸들링을 통해 처리됩니다. 키보드 입력에 대한 콜백 함수를 등록하여 입력을 처리할 수 있습니다.

// 키 입력 콜백 함수
void keyCallback(GLFWwindow* window, int key, int scancode, int action, int mods) {
    if (key == GLFW_KEY_ESCAPE && action == GLFW_PRESS) {
        // ESC 키가 눌렸을 때의 동작
        glfwSetWindowShouldClose(window, GLFW_TRUE);
    }
}

int main() {
    // ...

    // 키 입력 콜백 함수를 등록
    glfwSetKeyCallback(window, keyCallback);

    // ...
}

마우스 입력 처리

마우스 입력 또한 이벤트 핸들링을 통해 처리됩니다. 마우스 입력에 대한 콜백 함수를 등록하여 입력을 처리할 수 있습니다.

// 마우스 버튼 클릭 콜백 함수
void mouseButtonCallback(GLFWwindow* window, int button, int action, int mods) {
    if (button == GLFW_MOUSE_BUTTON_LEFT && action == GLFW_PRESS) {
        // 마우스 왼쪽 버튼이 클릭되었을 때의 동작
    }
}

int main() {
    // ...

    // 마우스 버튼 클릭 콜백 함수를 등록
    glfwSetMouseButtonCallback(window, mouseButtonCallback);

    // ...
}

마치며

이렇게 GLFW를 사용하여 C++에서 간단하게 키보드 및 마우스 입력을 처리할 수 있습니다. GLFW의 다양한 기능을 활용하여 풍부한 사용자 입력 경험을 구현할 수 있습니다.

더 많은 정보는 GLFW 공식 문서를 참고하시기 바랍니다.