Presentation is loading. Please wait.

Presentation is loading. Please wait.

OpenGL 실습 1주차.

Similar presentations


Presentation on theme: "OpenGL 실습 1주차."— Presentation transcript:

1 OpenGL 실습 1주차

2 OpenGL 실습내용 실습 1주차 실습 2주차 실습 3주차 실습 4주차 초기화 및 점, 선, 면 Color Cube 만들기
이동, 회전, 크기변경 실습 4주차 광원 및 재질

3 GLUT install GLUT.H GLUT.lib GLUT32.lib GLUT.dll GLUT32.dll
c:\Program Files\Microsoft Visual Studio\vc98\Include\ c:\Program Files\Microsoft Visual Studio\vc98\Include\GL\ GLUT.lib GLUT32.lib c:\Program Files\Microsoft Visual Studio\vc98\Lib GLUT.dll GLUT32.dll c:\windows\system32

4 윈도우 초기화 #include <GL/glut.h> void display(void) { }
int main(int argc, char** argv) glutInit ( &argc, argv ); glutInitWindowSize ( 500, 500 ); glutInitWindowPosition ( 0, 0 ); glutCreateWindow ( "윈도우 창을 열자" ); glutDisplayFunc ( display ); glutMainLoop(); 대부분의 비대화식 프로그램에 대하여 동작되는 main 프로그램 glutInit(int *argcp, char **argv) glut 및 OpenGL을 초기화 glutCreateWindow(char *name) 인자 name은 윈도우의 타이틀 glutInitWindowSize ( 500, 500 ); 500 * 500 pixel window glutInitWindowPosition ( 0, 0 ); 설정된 좌표축으로 윈도우 배치 glutDisplayFunc ( display ); 윈도우가 오픈될 때 display call back이 불림 glutMainLoop(); 이벤트 루프에 들어감

5 윈도우 초기화 결과

6 윈도우 내부 색 설정 glClear(GL_COLOR_BUFFER_BIT); 윈도우를 클리어 glFlush(); 버퍼들을 클리어
#include <GL/glut.h> void display(void) { glClear(GL_COLOR_BUFFER_BIT); glFlush(); } void init(void) glClearColor(0.0, 0.0, 1.0, 1.0); int main(int argc, char *argv[]) glutInit(&argc, argv); glutInitDisplayMode(GLUT_RGBA); glutCreateWindow(argv[0]); glutDisplayFunc(display); init(); glutMainLoop(); return 0; glClear(GL_COLOR_BUFFER_BIT); 윈도우를 클리어 glFlush(); 버퍼들을 클리어 glClearColor(GLclampf R, GLclampf G, GLclampf B, GLclampf A) GLclamp R, G, B 각기 RGB값 Glclamp A 에서 A는 α 값으로 투명도를 나타냄 ( 0 : 투명, 1 : 불투명)

7 윈도우 내부 색 설정 결과

8 점 그리기 void display(void) { glPointSize(2.0f); glBegin(GL_POINTS);
glVertex2d(0.0f, 0.0f); glEnd(); } void glBegin(GLnum mode) glBegin() 의 인자 mode 에는 도형의 타입을 지정 void glEnd(void) 도형을 그리려면, glBegin() ~glEnd() 사이에 도형의 각 정점 좌표치를 설정하는 함수를 기술 glPointSize GL_POINTS로 그리는 점의 크기를 설정, OpenGL에서 지원하는 점의 크기는 0.5에서 10.0까지 사용가능하며, 증가치는 0.125

9 점 그리기 결과 ( 0.0, 0.0 )

10 glBegin()의 인자에 사용할 수 있는 값들

11 선 그리기 void display(void) { glLineWidth(2.0f); glBegin(GL_LINES);
glVertex2d(-0.5f, -0.5f); glVertex2d(0.5f, -0.5f); glVertex2d(0.5f, 0.5f); glVertex2d(-0.5f, 0.5f); glEnd(); } glLineWidth : GL_LINES, GL_LINE_STRIP, GL_LINE_LOOP등으로 그릴 라인의 굵기를 설정 ( 0.5 ~ 10.0, )

12 선 그리기 결과 ( 0.5, 0.5 ) ( -0.5, 0.5 )

13 Polygon을 사용한 면 그리기 void display(void) { glBegin(GL_POLYGON);
glVertex2d(-0.5f, -0.5f); glVertex2d(0.5f, -0.5f); glVertex2d(0.5f, 0.5f); glVertex2d(-0.5f, 0.5f); glEnd(); }

14 Polygon을 사용한 면 그리기 결과

15 Color 사각형 그리기 void display(void) {
glClear(GL_COLOR_BUFFER_BIT);      // 윈도우 클리어 glBegin(GL_QUADS); glColor3f(1.0, 0.0, 0.0);      // 적색 glVertex2d(-0.5, -0.5);                glColor3f(0.0, 1.0, 0.0);      // 녹 glVertex2d(0.5, -0.5); glColor3f(0.0, 0.0, 1.0);      // 파 glVertex2d(0.5, 0.5); glColor3f(1.0, 1.0, 0.0);      // 황 glVertex2d(-0.5, 0.5); glEnd(); glFlush(); }

16 Color 사각형 그리기 결과


Download ppt "OpenGL 실습 1주차."

Similar presentations


Ads by Google