* always thanks to https://learnopengl.com/
3. Creating a window
- 가장 먼저 해야할 일은 OpenGL context를 정의하고 사용자의 input을 받아 그림을 그릴 application window를 만드는 일이다
- 이러한 동작들을 쉽게 구현할 수 있도록하는 library들이 있다. 그중 우리는 GLFW를 사용할 것이다.
3.1 GLFW
- OpenGL만을 위해 C로 만들어진 라이브러리.
- OpenGL context를 생성하고 window parameters를 정의하고 user input을 다룰 수 있도록 해준다.
3.2 Building GLFW
- MacOS에서 homebrew를 통해 glfw source package를 설치를 한다.
brew install glfw
3.2.1 CMake
- 프로젝트, 솔루션 파일을 만들어주는 프로그램
brew install cmake
3.3 Our first project
- Xcode로 프로젝트를 하나 생성해보자.
3.4 Linking
- 프로젝트가 GLFW를 사용하기 위해서는 프로젝트에 library를 link해줘야 한다. 지금 우리의 프로젝트는 glfw3.lib가 어느 directory에 있는지 모르기 때문에 프로젝트 이 위치를 알려줘야한다.
- /opt/homebrew/Cellar/위치로 가보면 glfw폴더가 있을 것이다. 그 안에 있는 libglfw.3.3.dylib파일을 추가해준다.
- 이렇게 헤더파일의 위치를 찾을 수 있도록 해주었다면 링커에게 라이브러리 이름을 정해주어야 한다.
- 헤더파일이 있는 폴더의 경로를 입력해준다.
- 그럼 이제 #include <GLFW/glfw3.h>처럼 사용할 수 있도록 해준다.
3.5 GLAD
- OpenGL은 어디까지나 표준사양이다. 어떤 OpenGL드라이버를 그래픽카드에 탑재 하였는지는 제조사의 결정이다.
- 개발자 입장에서는 특정 그래픽 카드의 드라이버 사양에 맞는 함수를 런타임에서 찾게 되고 따라서 시간이 소요된다.
3.5.1 Setting up GLAD
- OpenGL의 버전을 정의하고 해당 버전에 따라 모든 관련된 OpenGL 함수를 정의하고 로드 할 수 있는 웹 서비스를 제공한다.
- 항목들을 체크하고 맨 밑에 generate 클릭
- .zip폴더를 다운로드 한다.
- glad폴더를 프로젝트에 이동시킨다.
- 아래처럼 컴파일 소스 목록에 glad.c를 추가해준다.
- #include <glad/glad.h> 처럼 사용하기 위해 search paths에 경로를 지정해준다.
'ComputerScience > Computer Graphics' 카테고리의 다른 글
OpenGL - 5 Hello Triangle (3) (0) | 2021.06.30 |
---|---|
OpenGL - 5 Hello Triangle (2) (0) | 2021.06.29 |
OpenGL - 5 Hello Triangle (1) (0) | 2021.06.29 |
OpenGL - 4 Hello Window (0) | 2021.06.25 |
OpenGL - 2 OpenGL (0) | 2021.06.22 |