Basic Windows & OpenGL Programming - Korea...
Transcript of Basic Windows & OpenGL Programming - Korea...
![Page 1: Basic Windows & OpenGL Programming - Korea Universitykucg.korea.ac.kr/new/course/2010_1/CNCE340/tutor/03Basic... · 2002-01-17 · KUCG Graphics Lab @ Korea University OpenGL 파일설정](https://reader033.fdocuments.net/reader033/viewer/2022041814/5e59deb235732630d46b1b4e/html5/thumbnails/1.jpg)
Graphics
Graphics Lab @ Korea Universityhttp://kucg.korea.ac.kr
Basic Windows &
OpenGL Programming
컴퓨터 그래픽스 연구실
![Page 2: Basic Windows & OpenGL Programming - Korea Universitykucg.korea.ac.kr/new/course/2010_1/CNCE340/tutor/03Basic... · 2002-01-17 · KUCG Graphics Lab @ Korea University OpenGL 파일설정](https://reader033.fdocuments.net/reader033/viewer/2022041814/5e59deb235732630d46b1b4e/html5/thumbnails/2.jpg)
KUCG
Graphics Lab @ Korea Universityhttp://kucg.korea.ac.kr
OpenGL 관련 참고 사이트
OpenGL 공식 사이트
http://www.opengl.org/
Khronos Group
http://www.khronos.org/
Nehe Productions
http://nehe.gamedev.net/
![Page 3: Basic Windows & OpenGL Programming - Korea Universitykucg.korea.ac.kr/new/course/2010_1/CNCE340/tutor/03Basic... · 2002-01-17 · KUCG Graphics Lab @ Korea University OpenGL 파일설정](https://reader033.fdocuments.net/reader033/viewer/2022041814/5e59deb235732630d46b1b4e/html5/thumbnails/3.jpg)
KUCG
Graphics Lab @ Korea University
OpenGL 파일 설정
압축을 푼 후 다음 경로로 파일을 복사
헤더 파일 (glut.h)
Microsoft Visual Studio\VC98\Include\GL (6.0)
or Microsoft Visual Studio 8\VC\Include (8.0)
정적 라이브러리 파일 (glut32.lib & glut.def)
Microsoft Visual Studio\VC98\Lib (6.0)
or Microsoft Visual Studio 8\VC\Lib (8.0)
동적 라이브러리 파일 (glut32.dll)
C:\WINDOWS\system32
http://kucg.korea.ac.kr
![Page 4: Basic Windows & OpenGL Programming - Korea Universitykucg.korea.ac.kr/new/course/2010_1/CNCE340/tutor/03Basic... · 2002-01-17 · KUCG Graphics Lab @ Korea University OpenGL 파일설정](https://reader033.fdocuments.net/reader033/viewer/2022041814/5e59deb235732630d46b1b4e/html5/thumbnails/4.jpg)
KUCG
Graphics Lab @ Korea University
프로젝트 생성 [VS 6.0] (1/3)
[File][New] (Ctrl+N)
[Win32 Console Application] 선택
Project Name 정한 후 [OK]
[An empty project] [Finish]
http://kucg.korea.ac.kr
![Page 5: Basic Windows & OpenGL Programming - Korea Universitykucg.korea.ac.kr/new/course/2010_1/CNCE340/tutor/03Basic... · 2002-01-17 · KUCG Graphics Lab @ Korea University OpenGL 파일설정](https://reader033.fdocuments.net/reader033/viewer/2022041814/5e59deb235732630d46b1b4e/html5/thumbnails/5.jpg)
KUCG
Graphics Lab @ Korea University
프로젝트 생성 [VS 6.0] (2/3)
[Project][Settings…] (Alt+F7)
Link 의 Object/library modules에 다음 파일을 추가 opengl32.lib glu32.lib glut32.lib glaux.lib
http://kucg.korea.ac.kr
![Page 6: Basic Windows & OpenGL Programming - Korea Universitykucg.korea.ac.kr/new/course/2010_1/CNCE340/tutor/03Basic... · 2002-01-17 · KUCG Graphics Lab @ Korea University OpenGL 파일설정](https://reader033.fdocuments.net/reader033/viewer/2022041814/5e59deb235732630d46b1b4e/html5/thumbnails/6.jpg)
KUCG
Graphics Lab @ Korea University
프로젝트 생성 [VS 6.0] (3/3)
[File][New] (Ctrl+N)
C++ Source File 선택
File 이름 정한 후 [OK]
완료
http://kucg.korea.ac.kr
![Page 7: Basic Windows & OpenGL Programming - Korea Universitykucg.korea.ac.kr/new/course/2010_1/CNCE340/tutor/03Basic... · 2002-01-17 · KUCG Graphics Lab @ Korea University OpenGL 파일설정](https://reader033.fdocuments.net/reader033/viewer/2022041814/5e59deb235732630d46b1b4e/html5/thumbnails/7.jpg)
KUCG
Graphics Lab @ Korea University
프로젝트 생성 [VS 8.0] (1/3)
[File][New][Project] (Ctrl+Shift+N)
Visual C++Win32Win32 Console App
이름 정한 후 [OK]
빈 프로젝트 선택
http://kucg.korea.ac.kr
![Page 8: Basic Windows & OpenGL Programming - Korea Universitykucg.korea.ac.kr/new/course/2010_1/CNCE340/tutor/03Basic... · 2002-01-17 · KUCG Graphics Lab @ Korea University OpenGL 파일설정](https://reader033.fdocuments.net/reader033/viewer/2022041814/5e59deb235732630d46b1b4e/html5/thumbnails/8.jpg)
KUCG
Graphics Lab @ Korea University
프로젝트 생성 [VS 8.0] (2/3)
[Project][속성] (Alt+F7)
[구성 속성][링커][입력]
추가 종속성에 다음 파일을 추가 opengl32.lib glu32.lib glut32.lib glaux.lib
http://kucg.korea.ac.kr
![Page 9: Basic Windows & OpenGL Programming - Korea Universitykucg.korea.ac.kr/new/course/2010_1/CNCE340/tutor/03Basic... · 2002-01-17 · KUCG Graphics Lab @ Korea University OpenGL 파일설정](https://reader033.fdocuments.net/reader033/viewer/2022041814/5e59deb235732630d46b1b4e/html5/thumbnails/9.jpg)
KUCG
Graphics Lab @ Korea University
프로젝트 생성 [VS 8.0] (3/3)
소스 파일 선택 후 우 클릭새 항목 추가
코드C++파일(.cpp)이름 선택추가(A)
완료
http://kucg.korea.ac.kr
![Page 10: Basic Windows & OpenGL Programming - Korea Universitykucg.korea.ac.kr/new/course/2010_1/CNCE340/tutor/03Basic... · 2002-01-17 · KUCG Graphics Lab @ Korea University OpenGL 파일설정](https://reader033.fdocuments.net/reader033/viewer/2022041814/5e59deb235732630d46b1b4e/html5/thumbnails/10.jpg)
KUCG
Graphics Lab @ Korea University
Example
예제 및 실행결과
http://kucg.korea.ac.kr
![Page 11: Basic Windows & OpenGL Programming - Korea Universitykucg.korea.ac.kr/new/course/2010_1/CNCE340/tutor/03Basic... · 2002-01-17 · KUCG Graphics Lab @ Korea University OpenGL 파일설정](https://reader033.fdocuments.net/reader033/viewer/2022041814/5e59deb235732630d46b1b4e/html5/thumbnails/11.jpg)
KUCG
Graphics Lab @ Korea University
void gluLookAtGLdouble eyex, GLdouble eyey, GLdouble eyez, GLdouble atx, GLdouble aty,
GLdouble atz, GLdouble upx, GLdouble upy, GLdouble upz
eyex, eyey, eyez : Camera Position(x,y,z)
atx, aty, atz : Camera Focus(x,y,z)
upx, upy, upz : Camera Up-vector
Default
glutLookAt(0.0, 0.0, 0.0, 0.0, 0.0, -100.0, 0.0, 1.0, 0.0);
Viewing
http://kucg.korea.ac.kr
![Page 12: Basic Windows & OpenGL Programming - Korea Universitykucg.korea.ac.kr/new/course/2010_1/CNCE340/tutor/03Basic... · 2002-01-17 · KUCG Graphics Lab @ Korea University OpenGL 파일설정](https://reader033.fdocuments.net/reader033/viewer/2022041814/5e59deb235732630d46b1b4e/html5/thumbnails/12.jpg)
KUCG
Graphics Lab @ Korea University
void gluLookAt
Viewing
http://kucg.korea.ac.kr
![Page 13: Basic Windows & OpenGL Programming - Korea Universitykucg.korea.ac.kr/new/course/2010_1/CNCE340/tutor/03Basic... · 2002-01-17 · KUCG Graphics Lab @ Korea University OpenGL 파일설정](https://reader033.fdocuments.net/reader033/viewer/2022041814/5e59deb235732630d46b1b4e/html5/thumbnails/13.jpg)
KUCG
Graphics Lab @ Korea University
void glOrthoGLdouble left, GLdouble right, GLdouble bottom, GLdouble top
GLdouble zNear, GLdouble zFar
void glFrustumGLdouble left, GLdouble right, GLdouble bottom, GLdouble top
GLdouble zNear, GLdouble zFar
void glPerspectiveGLdouble fov, GLdouble aspect, GLdouble near, GLdouble fars
fov : Field of View (degree : 0~180)
aspect : Aspect Ratio (Width/Height)
near : near clipping plane
far : far clipping plane
View Volume
http://kucg.korea.ac.kr
![Page 14: Basic Windows & OpenGL Programming - Korea Universitykucg.korea.ac.kr/new/course/2010_1/CNCE340/tutor/03Basic... · 2002-01-17 · KUCG Graphics Lab @ Korea University OpenGL 파일설정](https://reader033.fdocuments.net/reader033/viewer/2022041814/5e59deb235732630d46b1b4e/html5/thumbnails/14.jpg)
KUCG
Graphics Lab @ Korea University
void glFrustum
View Volume
http://kucg.korea.ac.kr
![Page 15: Basic Windows & OpenGL Programming - Korea Universitykucg.korea.ac.kr/new/course/2010_1/CNCE340/tutor/03Basic... · 2002-01-17 · KUCG Graphics Lab @ Korea University OpenGL 파일설정](https://reader033.fdocuments.net/reader033/viewer/2022041814/5e59deb235732630d46b1b4e/html5/thumbnails/15.jpg)
KUCG
Graphics Lab @ Korea University
OpenGL의 그래픽 기본 요소
점 GL_POINTS
선 GL_LINES
GL_LINE_STRIP
GL_LINE_LOOP
도형 GL_POLYGON
GL_TRIANGLES
GL_TRIANGLE_STRIP
GL_TRIANGLE_FAN
GL_QUAD_STRIP
http://kucg.korea.ac.kr
![Page 16: Basic Windows & OpenGL Programming - Korea Universitykucg.korea.ac.kr/new/course/2010_1/CNCE340/tutor/03Basic... · 2002-01-17 · KUCG Graphics Lab @ Korea University OpenGL 파일설정](https://reader033.fdocuments.net/reader033/viewer/2022041814/5e59deb235732630d46b1b4e/html5/thumbnails/16.jpg)
KUCG
Graphics Lab @ Korea University
OpenGL의 그래픽 기본 요소
점(GL_POINTS)
glBegin(GL_POINTS);
glVertex3f(v1x, v1y, v1z);
glVertex3f(v2x, v2y, v2z);
glVertex3f(v3x, v3y, v3z);
glVertex3f(v4x, v4y, v4z);
glEnd();
http://kucg.korea.ac.kr
v1 v2
v3v4
![Page 17: Basic Windows & OpenGL Programming - Korea Universitykucg.korea.ac.kr/new/course/2010_1/CNCE340/tutor/03Basic... · 2002-01-17 · KUCG Graphics Lab @ Korea University OpenGL 파일설정](https://reader033.fdocuments.net/reader033/viewer/2022041814/5e59deb235732630d46b1b4e/html5/thumbnails/17.jpg)
KUCG
Graphics Lab @ Korea University
OpenGL의 그래픽 기본 요소
선(GL_LINES)
glBegin(GL_LINES);
glVertex3f(v1x, v1y, v1z);
glVertex3f(v2x, v2y, v2z);
glVertex3f(v3x, v3y, v3z);
glVertex3f(v4x, v4y, v4z);
glEnd();
http://kucg.korea.ac.kr
v1 v2
v3v4
![Page 18: Basic Windows & OpenGL Programming - Korea Universitykucg.korea.ac.kr/new/course/2010_1/CNCE340/tutor/03Basic... · 2002-01-17 · KUCG Graphics Lab @ Korea University OpenGL 파일설정](https://reader033.fdocuments.net/reader033/viewer/2022041814/5e59deb235732630d46b1b4e/html5/thumbnails/18.jpg)
KUCG
Graphics Lab @ Korea University
OpenGL의 그래픽 기본 요소
선(GL_LINE_STRIP)
glBegin(GL_LINE_STRIP);
glVertex3f(v1x, v1y, v1z);
glVertex3f(v2x, v2y, v2z);
glVertex3f(v3x, v3y, v3z);
glVertex3f(v4x, v4y, v4z);
glEnd();
http://kucg.korea.ac.kr
v1 v2
v3v4
![Page 19: Basic Windows & OpenGL Programming - Korea Universitykucg.korea.ac.kr/new/course/2010_1/CNCE340/tutor/03Basic... · 2002-01-17 · KUCG Graphics Lab @ Korea University OpenGL 파일설정](https://reader033.fdocuments.net/reader033/viewer/2022041814/5e59deb235732630d46b1b4e/html5/thumbnails/19.jpg)
KUCG
Graphics Lab @ Korea University
OpenGL의 그래픽 기본 요소
도형(GL_LINE_LOOP)
glBegin(GL_LINE_LOOP);
glVertex3f(v1x, v1y, v1z);
glVertex3f(v2x, v2y, v2z);
glVertex3f(v3x, v3y, v3z);
glVertex3f(v4x, v4y, v4z);
glEnd();
http://kucg.korea.ac.kr
v1 v2
v3v4
![Page 20: Basic Windows & OpenGL Programming - Korea Universitykucg.korea.ac.kr/new/course/2010_1/CNCE340/tutor/03Basic... · 2002-01-17 · KUCG Graphics Lab @ Korea University OpenGL 파일설정](https://reader033.fdocuments.net/reader033/viewer/2022041814/5e59deb235732630d46b1b4e/html5/thumbnails/20.jpg)
KUCG
Graphics Lab @ Korea University
OpenGL의 그래픽 기본 요소
도형(GL_TRIANGLES)
glBegin(GL_TRIANGLES);
glVertex3f(v1x, v1y, v1z);
glVertex3f(v2x, v2y, v2z);
glVertex3f(v3x, v3y, v3z);
glEnd();
http://kucg.korea.ac.kr
v1 v2
v3
![Page 21: Basic Windows & OpenGL Programming - Korea Universitykucg.korea.ac.kr/new/course/2010_1/CNCE340/tutor/03Basic... · 2002-01-17 · KUCG Graphics Lab @ Korea University OpenGL 파일설정](https://reader033.fdocuments.net/reader033/viewer/2022041814/5e59deb235732630d46b1b4e/html5/thumbnails/21.jpg)
KUCG
Graphics Lab @ Korea University
OpenGL의 그래픽 기본 요소
도형(GL_QUADS)
glBegin(GL_QUADS);
glVertex3f(v1x, v1y, v1z);
glVertex3f(v2x, v2y, v2z);
glVertex3f(v3x, v3y, v3z);
glVertex3f(v4x, v4y, v4z);
glEnd();
http://kucg.korea.ac.kr
v1 v2
v3v4
![Page 22: Basic Windows & OpenGL Programming - Korea Universitykucg.korea.ac.kr/new/course/2010_1/CNCE340/tutor/03Basic... · 2002-01-17 · KUCG Graphics Lab @ Korea University OpenGL 파일설정](https://reader033.fdocuments.net/reader033/viewer/2022041814/5e59deb235732630d46b1b4e/html5/thumbnails/22.jpg)
KUCG
Graphics Lab @ Korea University
OpenGL의 그래픽 기본 요소
도형(GL_POLYGON)
glBegin(GL_POLYGON);
glVertex3f(v1x, v1y, v1z);
glVertex3f(v2x, v2y, v2z);
glVertex3f(v3x, v3y, v3z);
glVertex3f(v4x, v4y, v4z);
glVertex3f(v5x, v5y, v5z);
glVertex3f(v6x, v6y, v6z);
glEnd();
http://kucg.korea.ac.kr
v1
v2
v3 v4
v6
v5
![Page 23: Basic Windows & OpenGL Programming - Korea Universitykucg.korea.ac.kr/new/course/2010_1/CNCE340/tutor/03Basic... · 2002-01-17 · KUCG Graphics Lab @ Korea University OpenGL 파일설정](https://reader033.fdocuments.net/reader033/viewer/2022041814/5e59deb235732630d46b1b4e/html5/thumbnails/23.jpg)
KUCG
Graphics Lab @ Korea University
OpenGL의 그래픽 기본 요소
도형(GL_TRIANGLE_STRIP)
glBegin(GL_TRIANGLE_STRIP);
glVertex3f(v1x, v1y, v1z);
glVertex3f(v2x, v2y, v2z);
glVertex3f(v3x, v3y, v3z);
glVertex3f(v4x, v4y, v4z);
glVertex3f(v5x, v5y, v5z);
glEnd();
http://kucg.korea.ac.kr
v1
v2
v3
v4
v5
![Page 24: Basic Windows & OpenGL Programming - Korea Universitykucg.korea.ac.kr/new/course/2010_1/CNCE340/tutor/03Basic... · 2002-01-17 · KUCG Graphics Lab @ Korea University OpenGL 파일설정](https://reader033.fdocuments.net/reader033/viewer/2022041814/5e59deb235732630d46b1b4e/html5/thumbnails/24.jpg)
KUCG
Graphics Lab @ Korea University
OpenGL의 그래픽 기본 요소
도형(GL_TRIANGLE_FAN)
glBegin(GL_TRIANGLE_FAN);
glVertex3f(v1x, v1y, v1z);
glVertex3f(v2x, v2y, v2z);
glVertex3f(v3x, v3y, v3z);
glVertex3f(v4x, v4y, v4z);
glVertex3f(v5x, v5y, v5z);
glEnd();
http://kucg.korea.ac.kr
v1
v2
v3
v4v5
![Page 25: Basic Windows & OpenGL Programming - Korea Universitykucg.korea.ac.kr/new/course/2010_1/CNCE340/tutor/03Basic... · 2002-01-17 · KUCG Graphics Lab @ Korea University OpenGL 파일설정](https://reader033.fdocuments.net/reader033/viewer/2022041814/5e59deb235732630d46b1b4e/html5/thumbnails/25.jpg)
KUCG
Graphics Lab @ Korea University
도형(GL_QUAD_STRIP)
glBegin(GL_QUAD_STRIP);
glVertex3f(v1x, v1y, v1z);
glVertex3f(v2x, v2y, v2z);
glVertex3f(v3x, v3y, v3z);
glVertex3f(v4x, v4y, v4z);
glVertex3f(v5x, v5y, v5z);
glVertex3f(v6x, v6y, v6z);
glEnd();
OpenGL의 그래픽 기본 요소
http://kucg.korea.ac.kr
v1
v2
v3
v4
v5
v6
![Page 26: Basic Windows & OpenGL Programming - Korea Universitykucg.korea.ac.kr/new/course/2010_1/CNCE340/tutor/03Basic... · 2002-01-17 · KUCG Graphics Lab @ Korea University OpenGL 파일설정](https://reader033.fdocuments.net/reader033/viewer/2022041814/5e59deb235732630d46b1b4e/html5/thumbnails/26.jpg)
KUCG
Graphics Lab @ Korea University
그래픽 함수 관련 (속성 설정)
glPointSize(GLfloat size)
점의 크기
glLineWidth(GLfloat width)
선의 두께
glGetFloatv(GL_LINE_SIZE_RANGE)
드라이버가 지원하는 최대 선의 두께를 반환
http://kucg.korea.ac.kr
![Page 27: Basic Windows & OpenGL Programming - Korea Universitykucg.korea.ac.kr/new/course/2010_1/CNCE340/tutor/03Basic... · 2002-01-17 · KUCG Graphics Lab @ Korea University OpenGL 파일설정](https://reader033.fdocuments.net/reader033/viewer/2022041814/5e59deb235732630d46b1b4e/html5/thumbnails/27.jpg)
KUCG
Graphics Lab @ Korea University
그래픽 함수 관련 (속성 설정)
glShadeModel(mode)
다각형 내부 채움 모드 설정
mode
GL_FLAT : 다각형의 내부를 모두 동일한 색으로
GL_SMOOTH : 정점의 색을 Weighted Average 보간
Gradation
기본값
http://kucg.korea.ac.kr
![Page 28: Basic Windows & OpenGL Programming - Korea Universitykucg.korea.ac.kr/new/course/2010_1/CNCE340/tutor/03Basic... · 2002-01-17 · KUCG Graphics Lab @ Korea University OpenGL 파일설정](https://reader033.fdocuments.net/reader033/viewer/2022041814/5e59deb235732630d46b1b4e/html5/thumbnails/28.jpg)
KUCG
Graphics Lab @ Korea University
Example
http://kucg.korea.ac.kr
![Page 29: Basic Windows & OpenGL Programming - Korea Universitykucg.korea.ac.kr/new/course/2010_1/CNCE340/tutor/03Basic... · 2002-01-17 · KUCG Graphics Lab @ Korea University OpenGL 파일설정](https://reader033.fdocuments.net/reader033/viewer/2022041814/5e59deb235732630d46b1b4e/html5/thumbnails/29.jpg)
KUCG
Graphics Lab @ Korea University
Example
http://kucg.korea.ac.kr
![Page 30: Basic Windows & OpenGL Programming - Korea Universitykucg.korea.ac.kr/new/course/2010_1/CNCE340/tutor/03Basic... · 2002-01-17 · KUCG Graphics Lab @ Korea University OpenGL 파일설정](https://reader033.fdocuments.net/reader033/viewer/2022041814/5e59deb235732630d46b1b4e/html5/thumbnails/30.jpg)
KUCG
Graphics Lab @ Korea University
Example
http://kucg.korea.ac.kr
![Page 31: Basic Windows & OpenGL Programming - Korea Universitykucg.korea.ac.kr/new/course/2010_1/CNCE340/tutor/03Basic... · 2002-01-17 · KUCG Graphics Lab @ Korea University OpenGL 파일설정](https://reader033.fdocuments.net/reader033/viewer/2022041814/5e59deb235732630d46b1b4e/html5/thumbnails/31.jpg)
KUCG
Graphics Lab @ Korea University
직교 투영 함수
Clipping
glOrtho(GLdouble left, GLdouble right, GLdouble bottom,
GLdouble top, GLdouble near, GLdouble far);
left : 클리핑 공간 좌측 끝의 좌표 값
right : 클리핑 공간 우측 끝의 좌표 값
bottom : 클리핑 공간 하단 끝의 좌표 값
top : 클리핑 공간 상단 끝의 좌표 값
near : 원점과 관측자 사이의 최대 거리
far : 원점과 관측자의 반대편 사이의 최대 거리
ex)
glMatrixMode(GL_PROJECTION); // 투영좌표계설정
glLoadIdentity(); // 초기화
glOrtho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0);
http://kucg.korea.ac.kr
![Page 32: Basic Windows & OpenGL Programming - Korea Universitykucg.korea.ac.kr/new/course/2010_1/CNCE340/tutor/03Basic... · 2002-01-17 · KUCG Graphics Lab @ Korea University OpenGL 파일설정](https://reader033.fdocuments.net/reader033/viewer/2022041814/5e59deb235732630d46b1b4e/html5/thumbnails/32.jpg)
KUCG
Graphics Lab @ Korea University
직교 투영 함수
http://kucg.korea.ac.kr
glOrtho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0);
glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
Projection
Projection
![Page 33: Basic Windows & OpenGL Programming - Korea Universitykucg.korea.ac.kr/new/course/2010_1/CNCE340/tutor/03Basic... · 2002-01-17 · KUCG Graphics Lab @ Korea University OpenGL 파일설정](https://reader033.fdocuments.net/reader033/viewer/2022041814/5e59deb235732630d46b1b4e/html5/thumbnails/33.jpg)
KUCG
Graphics Lab @ Korea University
직교 투영 함수
http://kucg.korea.ac.kr
=>
projection
glOrtho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0);
=>
projection
glOrtho(-3.0, 3.0, -3.0, 3.0, -1.0, 1.0);
![Page 34: Basic Windows & OpenGL Programming - Korea Universitykucg.korea.ac.kr/new/course/2010_1/CNCE340/tutor/03Basic... · 2002-01-17 · KUCG Graphics Lab @ Korea University OpenGL 파일설정](https://reader033.fdocuments.net/reader033/viewer/2022041814/5e59deb235732630d46b1b4e/html5/thumbnails/34.jpg)
KUCG
Graphics Lab @ Korea University
Viewport 함수
윈도우의 영역을 설정한다. glViewport(GLint x, GLint y, GLsizei width, GLsizei height);
x : 좌 하단 x좌표
y : 좌 하단 y좌표
width : 너비
height : 높이
Ex)
glutInitWindowSize(200, 200);
glViewport(0, 0, 100, 100);
http://kucg.korea.ac.kr
(0, 0) (100, 0) (200, 0)
(0, 100)
(0, 200)
![Page 35: Basic Windows & OpenGL Programming - Korea Universitykucg.korea.ac.kr/new/course/2010_1/CNCE340/tutor/03Basic... · 2002-01-17 · KUCG Graphics Lab @ Korea University OpenGL 파일설정](https://reader033.fdocuments.net/reader033/viewer/2022041814/5e59deb235732630d46b1b4e/html5/thumbnails/35.jpg)
KUCG
Graphics Lab @ Korea University
Example
http://kucg.korea.ac.kr