Programing/OpenGL

Modern OpenGL 3.x 버전 시작하기 (with visual studio)

Ezzi 2020. 3. 12. 10:44
반응형

 

library 및 visual studio IDE 다운로드 

 

1. windows 10

 

2. GLFW 3.3.2 version win32 

https://www.glfw.org/download.html

3. GLEW 2.1.0 version

http://glew.sourceforge.net/

 

4. Visual studio 2017 community

https://visualstudio.microsoft.com/ko/

 

 

작업 디렉토리 만들어 주기

 

작업 폴더에 OpenGLBasic 이라는 폴더를 만들어 줍니다.

 

그 안에 Dependency 라는 폴더를 만들어 줍니다. 

 

 

그리고 위에서 다운로드 받은 glew와 glfw 파일을 dependency 폴더로 카피해 주고 압축을 풉니다. 

 

 

압축을 푸는 과정에서 폴더 경로가 하나 더 하위로 존재 한다면 밑에 그림과 같이 맞춰 주세요.

 

그리고 visual studio 속성 설정에서 경로 입력을 편하게 하기 위해서 폴더 명을 변경해 주겠습니다.. 

 

 

glew-2.1.0 폴더를 GLEW 폴더로 이름을 변경해 줍니다. 

 

glfw-3.3.2.bin.WIN32.zip 파일도 GLFW 로 변경해 줍니다. 

 

 

 

 

visual studio 프로젝트 생성

 

visual studio 2017을 실행 시키고 새 프로젝트 만들기를 클릭 합니다. 

 

 

이미지와 같이 visual c++ 선택 -> 빈 프로젝트 선택 -> 프로젝트 이름을 OpenGLVS로 입력해 주고 확인을 클릭 합니다. 

 

위치는 OpenGLBasic 폴더로 설정해 줍니다. 

 

 

 

새 항목 추가를 누른 뒤에 main.cpp를 만들어 줍니다.

 

코드를 작성하기 전에 속성 설정을 해야 합니다. 

 

 

 

 

프로젝트 속성 페이지로 이동해서 구성은 모든 구성으로 플랫폼은 활성 Win32로 선택해 줍니다. 

 

 

 

추가 포함 디렉토리 설정

 

 

c/c++ -> 추가 포함 디렉토리를 클릭하여 

 

$(SolutionDir)/../Dependency/GLFW/include

$(SolutionDir)/../Dependency/GLEW/include

 

다음 두 경로를 입력해 줍니다. 

 

 

추가 라이브러리 디렉터리 등록

 

 

링커 -> 일반 -> 추가 라이브러리 디렉터리

 

다음 2개의 경로를 입력해 줍니다.

 

$(SolutionDir)/../Dependency/GLEW/lib/Release/Win32

$(SolutionDir)/../Dependency/GLFW/lib-vc2017

 

 

추가 종속성 등록

 

링커 -> 입력 -> 추가 종속성에서 다음 3개의 lib 파일을 등록해 줍니다.

 

openGL32.lib

glew32s.lib

glfw3.lib

 

 

 

 

Debug 폴더에 glew32.dll 파일 복사

 

 

이미지와 같이 visual studio 솔루션 폴더에 Debug 폴더를 만들어 줍니다.

 

 

경로 : Dependency -> GLEW -> bin -> Release -> WIN32 

 

 

그리고 위의 이미지의 경로로 이동하면 glew32.dll 파일이 있습니다. 그 파일을 복사하여 위에서 생성한 Debug 폴더에 카피해 줍니다.

 

 

이제 거의 끝나 갑니다. 

 

 

샘플코드 작성 

 

GLFW 사이트의 Home으로 이동하여 Document 메뉴를 클릭해 줍니다. 

 

https://www.glfw.org/documentation.html

 

 

 

document 페이지에는 예제 코드가 작성되어 있습니다. 

 

복사해서 위에서 생성했던 main.cpp에 붙여넣기 해 줍니다. 

 

F5를 눌러서 실행하면 다음과 같이 GL Window가 잘 생성된 것을 확인할 수 있습니다. 

 

 

 

 

 

 

반응형