Warning (C4996)
#define _CRT_SECURE_NO_WARNINGS
또는 Project Properties -> C/C++ Preprocessor -> _CRT_SECURE_NO_WARNINGS 추가
Just another Kyoung Shin Park’s Lectures Sites site
Lecture0-ComputerGraphics
lecture0
Windows7 이상 운영체제에서 Visual Studio 2017과 OpenGL 3.x 이상을 지원하는 그래픽카드 드라이버가 설치되어 있어야 합니다.
1. freeglut는 아래 파일을 다운 받아 unzip해 주어야 합니다.
http://freeglut.sourceforge.net/
압축을 풀어보면 include, lib, system32 세 개의 폴더가 있습니다.
C:\………\freeglut-MSVC-3.0.0-2.mp\freeglut\include\GL
freeglut.h freeglut_ext.h freeglut_std.h glut.h
C:\………\freeglut-MSVC-3.0.0-2.mp\freeglut\lib
freeglut.lib
C:\………\freeglut-MSVC-3.0.0-2.mp\freeglut\bin
freeglut.dll
2. glew는 아래 파일을 다운 받아 unzip해 주어야 합니다.
http://glew.sourceforge.net/
압축을 풀어보면 include, lib, system32 세 개의 폴더가 있습니다.
C:\………\glew-2.0.0-win32\glew-2.0.0\include\GL
glew.h glxew.h wglew.h
C:\………\glew-2.0.0-win32\glew-2.0.0\lib\Release\Win32
glew32.lib glew32s.lib
C:\………\glew-2.0.0-win32\glew-2.0.0\lib\Release MX\Win32
glew32mx.lib glew32mxs.lib
C:\………\glew-2.0.0-win32\glew-2.0.0\bin\Release\Win32
glew32.dll
C:\………\glew-2.0.0-win32\glew-2.0.0\bin\Release MX\Win32
glew32mx.dll
3. glm는 아래 파일을 다운 받아 unzip해 주어야 합니다.
https://github.com/g-truc/glm/releases
C:\………..\glm-0.9.8.4\glm 안에 glm 디렉토리 전체를 복사
4. Microsoft SDKs가 있는 디렉토리의 Include와 Lib 폴더에 *.h와 *.lib을 넣는다.
5. Windows\system32 폴더에 *.dll을 넣는다.
6. 세팅이 모두 끝나면, 프로젝트를 Win32 Console로 생성(File->New->Project, 템플렛에서 Win32->Win32 Console Application을 선택하고 <your project name>을 넣는다)하고, 아래의 소스를 넣어 컴파일, 실행해 봅니다.
/* minimal program to open & clear a window */
#include
#include
#include <GL/glew.h>
#include <GL/freeglut.h>
#include <GL/freeglut_ext.h>
void init
{
}
void display( void )
{
glClearColor( 1.0, 1.0, 1.0, 1.0 ); // white background
glClear( GL_COLOR_BUFFER_BIT ); // clear the window
glFlush();
}
void keyboard( unsigned char key, int x, int y )
{
switch ( key )
{
case 27: exit( EXIT_SUCCESS ); break;
}
}
int main( int argc, char **argv )
{
glutInit(&argc, argv);
glutInitDisplayMode( GLUT_RGBA );
glutInitWindowSize( 512, 512 );
glutCreateWindow("Your First OpenGL");
glewInit();
init();
glutDisplayFunc( display );
glutKeyboardFunc( keyboard );
glutMainLoop();
return 0;
}
7. 이때, opengl32.lib glu32.lib glut32.lib 라이브러리 링크를 걸어줍니다.
Project->Properties(ALT+F7)->Configuration Properties탭->Linker탭->Input탭에 Additional Dependencies에 “glew32.lib;freeglut.lib”를 넣는다.
8. 컴파일/링크(Build)(F7)후 실행(Debug)(F5)시켜서 하얀색화면의 윈도우가 뜨면 완성된 것입니다.
: A free, fully-featured, and extensible IDE for creating modern applications for Windows, Android, and iOS, as well as web applications and cloud services.
https://www.visualstudio.com/en-us/products/visual-studio-community-vs.aspx
VS2017 installation for Windows (C++)
http://studyc.tistory.com/24
Creating a Standard C++ Program (C++)
Lighthouse3D GLSL Tutorial
http://www.lighthouse3d.com/tutorials/glsl-tutorial/
Modern OpenGL Programming
http://en.wikibooks.org/wiki/OpenGL_Programming#Modern_OpenGL
Modern OpenGL Step-by-Step
http://ogldev.atspace.co.uk/
Learning Modern 3D Graphics Programming
http://www.arcsynthesis.org/gltut/index.html
OpenGLBook.com
http://openglbook.com/
AmazingKing Modern OpenGL Tutorials
http://www.theamazingking.com/ogl.php