OpenGL을 배우려고하는데 GLUT가 더 이상 사용되지 않는다는 것을 알았습니다 . 이미 SDL을 알고 있으며 이것이 좋은 대안 인 것 같습니다. SDL을 사용하여 OpenGL로 게임을 개발하거나 더 나은 대안이 있습니까? 저는 게임 개발을 처음 사용하므로 최신 기술에 대해 잘 모릅니다.
OpenGL을 배우려고하는데 GLUT가 더 이상 사용되지 않는다는 것을 알았습니다 . 이미 SDL을 알고 있으며 이것이 좋은 대안 인 것 같습니다. SDL을 사용하여 OpenGL로 게임을 개발하거나 더 나은 대안이 있습니까? 저는 게임 개발을 처음 사용하므로 최신 기술에 대해 잘 모릅니다.
답변:
방금 GLUT가 더 이상 사용되지 않는다는 것을 알았습니다.
그것은 당신이 처음 접하는 대답을 받아 들일 때 일어나는 일입니다. 나쁜 정보를 얻습니다. GLUT 3.7은 사용해서는 안되지만 FreeGLUT은 이전 버전과 완전히 호환됩니다.
그러나 귀하의 질문은 다른 곳으로갑니다. 실제 게임을 만들기 위해서는 * 형식의 GLUT가 부적절합니다. 메인 루프를 제어 할 수 없으며 게임에서 실제로 필요합니다 (FreeGLUT에는 메인 루프를 제어하는 방법이 있지만 여전히 이상합니다). GLUT는 그래픽 데모를 작성하기위한 것입니다. 새로운 그래픽 효과를 테스트 할 때는 매우 중요하므로 필요할 때 도구 상자에 있어야합니다. 그러나 주 게임 코드는 절대 사용해서는 안됩니다.
GLFW 는 GLUT의 게임 중심 경량 대안입니다. OpenGL 창을 만드는 것 이상으로 기본적인 지원을 제공합니다. 입력을 받고, 이미지를 텍스처로로드하고, 다른 몇 가지를 할 수 있습니다.
SDL , SFML 및 Allegro 5 는 모두 멀티미디어 툴킷입니다. 그들은의 OpenGL 창을 만들 수 있지만, 그들은 이렇게 많은 더보다. 입력, 오디오 및 게임을 만드는 데 필요한 기타 다양한 것들을 완벽하게 지원합니다. 게임을하고 있다면 이것들 중 좋은 출발점이됩니다. 나는 개인적으로 Allegro 5를 좋아하지만 좋은 문서화와 깨끗한 API에 대한 나의 편견입니다.
이 페이지에서 GLUT의 대안을 찾을 수 있습니다.
http://www.opengl.org/resources/libraries/windowtoolkits/
그것에 SFML을 추가 할 것입니다 :
게임을 크로스 플랫폼으로할지 여부에 따라 다릅니다. 휴대용 (Windows, Mac, Linux) 게임의 경우 SDL이 유일한 선택 인 것 같습니다.
Windows 및 / 또는 XBox 만 대상으로하는 경우 훨씬 많은 대안이 있습니다. 예를 들어 XNA를 사용하면 많은 코드를 수동으로 작성하지 않아도 됩니다.
원시 OpenGL로 프로그래밍하기 만하면 직관적이지 않은 많은 개념, 수학 및 거대한 매뉴얼을 경험할 수 있습니다.
GLUT는 라이브러리는 물론 API입니다. 원래 라이브러리는 실제로 사용되지 않습니다. API는 다른 것입니다. 시작하는 것이 좋았습니다. 한계를 극복하고 새로운 요구를 해결하기 위해 수정이 필요합니다. 기본 현재 구현은 FreeGLUT이며 지원되지 않으며 사용되지 않습니다. 이것은 GLUT (라이브러리 GLUT에서와 같이)에 대한 좋은 대안이 GLUT (FreeGLUT에서와 같이)임을 의미합니다.
"주 루프 제어"에서 위에서 언급 한 문제가 올바르지 않습니다. 최신 GLUT 버전을 사용하면 게임 루프를보다 효과적으로 제어 할 수 있습니다 (중요한 경우). 이 제한은 glutMainLoopEvent ()에 의해 수정되었습니다. 이 및 기타 제한 사항은 다음과 같습니다.
glutMainLoopEvent
메인 루프를 관리하는 좋은 방법은 아닙니다. 원하는 때에 원하는 데이터를 얻을 수있는 폴링 모델이 아니라 여전히 데이터를 공급하기 위해 이벤트 중심 모델을 사용합니다.