이번 학기에 컴퓨터 그래픽스 수업을 수강하며 이론적인 내용은 많이 배웠지만, 아직 OpenGL 프로그램을 직접 짜기에는 지식이 부족하다고 느꼈다.
그래서 한동안 OpenGL을 공부해서 간단한 엔진 내지는 미니게임을 만들어보고, 최종적으로는 오픈소스 게임 엔진 프로젝트인 고도(Godot) 엔진에 기여하는 것을 목표로 하려고 한다.
https://github.com/godotengine/godot
공부에는 Udemy 강의 Computer Graphics with Modern OpenGL and C++를 활용할 것이다.
https://www.udemy.com/course/graphics-with-modern-opengl/
OpenGL 프로그램을 만들기 위해서는 GLEW, GLFW 라이브러리가 필요한데, 각각의 기능은 다음과 같다.
GLEW
- OpenGL Extension Wrangler Library를 의미한다.
- 크로스 플랫폼 익스텐션 로딩 라이브러리이다.
- OpenGL의 특정 익스텐션들은 플랫폼에 따라 지원이 될 수도 안 될수도 있다.
- 지원되지 않는 익스텐션을 사용할 시 크래쉬 등의 문제가 생길 수 있다.
- GLEW는 익스텐션을 쓰기 전 현재 플랫폼에서 그 익스텐션이 지원되는지 체크해준다.
- 따라서 멀티플랫폼 프로그램을 만드는데 유용하다.
- OpenGL의 특정 익스텐션들은 플랫폼에 따라 지원이 될 수도 안 될수도 있다.
GLFW
- Graphics Library Framework를 의미한다.
- 윈도우 창의 생성과 컨트롤을 담당한다.
- 키보드/마우스/조이스틱과 같은 유저 인풋을 받아 처리할 수 있다.
두 라이브러리 모두 공식 홈페이지에서 다운받아 비주얼스튜디오에 연결해주었다.
프로젝트(P) -> 속성으로 들어가 세 부분을 건드려주면 된다.
세팅 후 glew.h와 glfw3.h의 include가 잘 작동하는 것을 볼 수 있었다.
'OpenGL > 공부' 카테고리의 다른 글
[OpenGL] ModelView Matrix (glm::lookAt) (0) | 2024.06.01 |
---|---|
[OpenGL] Polygon Rasterization (Bilinear Interpolation) (0) | 2024.05.28 |
[OpenGL] Model Matrix (Translate, Rotate, Scale) (0) | 2024.05.28 |
[OpenGL] 쉐이더 사용, 삼각형 그리기 (+ VAO, VBO) (0) | 2024.05.27 |
[OpenGL] 창 생성 (0) | 2024.05.25 |