본문 바로가기
IT/컴퓨터 그래픽스

[ OpenGL ] GLEW + GLM 설치 및 설정

by 신인용 2020. 9. 20.
반응형

 

GLEW + GLM 설치 및 설정

 

이전 글(GLFW 설치 및 설정)과 이어서 작성하였습니다.

 

GLFW 설치 및 설정

-> inyongs.tistory.com/117

 

 

 

● 목차

1. GLEW 설치 및 설정

2. GLM 설치 및 설정

 

 

 

맥은 GLEW를 따로 다운받지 않고 최신버전으로 할 수 있습니다. 대신 4.1버전까지 사용할 수 있습니다. 맥을 사용하신다면 GLEM은 건너뛰고, GLM만 설치하면 됩니다.

(버전 4.1에 대한 내용은 맨 마지막 코드에 있음)

 

 

 

 

1. GLEW 설치 및 설정

GLEW (OpenGL Extension Wrangler Library) 사용하는 이유

 비주얼 스튜디오에 있는 window header 파일이 OpenGL 1.5 버전까지만 지원합니다. (현재는 대략 4.7) header 파일을 따로 들고 와야합니다. 그래서 높은 버전 OpenGL을 사용하기 위해 glad 또는 GLEW를 사용해야 하는데, 여기선 GLEW를 사용해 볼 것입니다.

 

 

 

 

GLEW 설치 및 설정

 

GLEW 다운로드 링크

https://sourceforge.net/projects/glew/files/glew/2.1.0/glew-2.1.0-win32.zip/download

 

 

위 다운로드 링크로 접속하면...

 

 

자동으로 5초 후에 다운로드가 시작됩니다.

 

 

 

glew-2.1.0 이 다운받아집니다. 내부 파일들이 GLFW와 비슷하다는 것을 볼 수 있습니다.

실제 설정하는 것도 GLFW와 비슷합니다.

 

 

다운을 받았으니 설정을 해봅시다. 

 

 

 

glew-2.1.0 > include에 GL폴더를 비주얼 스튜디오의 solution폴더 > include 폴더에 넣어줍니다.

(프로젝트, include나 lib폴더는 이전 글에서 만들어 준 것입니다.) 이전글 GLFW

 

 

 

 

glew-2.1.0 > lib > Release > x64 > glew32s.lib 를 solution폴더 > lib에 넣어줍니다.

 

(참고)

프로젝트를 64bit로 설정해주어서 x64 폴더에서 lib을 꺼낸 것이고,

두 개의 lib파일 중에서 glew32s.lib를 넣어준 이유는 정적 라이브러리를 사용하기 위함입니다.

만약 동적 라이브러리를 사용하고 싶다면 glew32.lib을 넣어주시고, glew-2.1.0 > bin > Release > x64 > glew32.dll 파일도 넣어주어야 합니다.

 

 

 

 

속성에 들어가서 라이브러리를 추가해줍니다.

glew32s.lib; 를 맨 앞에 추가해줍니다.

 

 

 

 

 

 

 

 

 

2. GLM 설치 및 설정

GLM (GL Mathematics)

OpenGL Math Library 입니다. Vector, Matrics 등등... GLM은 헤더파일만 존재합니다.

 

 

 

 

GLM 설치 및 설정

 

GLM 다운로드 링크

https://glm.g-truc.net/0.9.9/index.html

 

OpenGL Mathematics

OpenGL Mathematics GLSL + Optional features = OpenGL Mathematics (GLM) A C++ mathematics library for graphics programming OpenGL Mathematics (GLM) is a header only C++ mathematics library for graphics software based on the OpenGL Shading Language (GLSL) sp

glm.g-truc.net

 

 

 

GLM을 다운받아 줍니다.

 

 

 

glm이 다운받아졌습니다.

 

 

 

glm > glm 폴더를 들어가보면, 헤더파일들이 있습니다.

glm > glm 폴더를 solution 폴더 > include 폴더에 넣어줍니다.

 

 

 

 

 

 

 

GLEW + GLM 가져오기 (+ MAC)

GLFW 코드에

GLEW와 GLM를 include하고, MAC 4.1버전을

추가만 해주었습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
// static lib 사용
#define GLEW_STATIC
 
// include 순서는 glew > glfw 순서로.
#include <GL/glew.h>
#include <GLFW/glfw3.h>
#include <glm/glm.hpp>
 
void render(GLFWwindow* window);
 
int main(void)
{
    // MAC일 경우에 4.1버전을 가져오기
#ifdef __APPLE__
    glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4);
    glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 1);
    glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
    glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
#endif
 
    // glfw 초기화
    glfwInit();
 
    // window 만들기 (width, height, title, monitor, share)
    GLFWwindow* window = glfwCreateWindow(640480"Inyong"00);
    
    // context는 그리기 위한 내용을 담고 있음
    // window가 두개이면 context가 두개일수도 있음
    // 그러면 어떤 context로 그릴지 정해줘야 함
    glfwMakeContextCurrent(window);
 
    // context가 만들어지고 난 후, glew 초기화
    glewInit();
 
    // 사용자가 window 창을 닫을 때까지
    while (!glfwWindowShouldClose(window)) {
        // window 그려주기
        render(window);
 
        // 마우스 움직이는 것. 이런것들 들고와서 필요한 window한테 보내주기
        glfwPollEvents();
    }
 
    // window가 닫혔을 경우 끝내자
    glfwDestroyWindow(window);
    glfwTerminate();
}
 
void render(GLFWwindow* window) { 
    // 지우는 색깔 (어떤 색으로 칠할건지)
    glClearColor(0011);
    glClear(GL_COLOR_BUFFER_BIT);
 
    // 깜빡거림 방지
    glfwSwapBuffers(window);
}
cs

 

 

 

 

이제 최신버전의 OpenGL을 사용할 수 있게 되었습니다 ~

 

 

 

반응형

댓글