OpenGL Programming (1) - hallym.ac.krgraphics.hallym.ac.kr/teach/2008/cg/src/13prac.pdf · 2008. 9....
Transcript of OpenGL Programming (1) - hallym.ac.krgraphics.hallym.ac.kr/teach/2008/cg/src/13prac.pdf · 2008. 9....
Sun-Jeong Kim
OpenGL Programming (1)
10th Week, 2008
Computer Graphics2
Getting Started – VS.net
Computer Graphics3
New Project
Visual C++Win32 Application
Computer Graphics4
Application Settings
Empty project
Computer Graphics5
“Prac06” Solution
Computer Graphics6
Downloading “main1.cpp”
Computer Graphics7
Adding the Source Code (1)
Project Add Existing Item
Computer Graphics8
Adding the Source Code (2)
Computer Graphics9
Linking the Library Files
Project PropertiesConfiguration Properties Linker Input
Additional Dependencies: opengl32.lib glu32.libopengl32.lib glu32.lib
Computer Graphics10
실행 결과 – “main1.cpp”
Computer Graphics11
Includes, Global Variables, and Prototypes
Computer Graphics12
Window Procedure (1)
Computer Graphics13
Window Procedure (2)
Computer Graphics14
bSetupPixelFormat( )
Computer Graphics15
Resize( ) and DrawScene( )
Computer Graphics16
연습 문제 (1)
메뉴를 추가하시오.
Computer Graphics17
Drawing Modes (1)
Points
Lines
Triangles
Rectangles
N-Polygons
Computer Graphics18
Drawing Modes (2)
Computer Graphics19
Drawing Modes (3)
Computer Graphics20
Drawing Modes (4)
Computer Graphics21
실행 결과 – Drawing Modes
Computer Graphics22
Points in OpenGL
glBegin(GL_POINTS);
glVertex2fv(p0);
glVertex2fv(p1);
glVertex2fv(p2);
glVertex2fv(p3);
glVertex2fv(p4);
glVertex2fv(p5);
glVertex2fv(p6);
glVertex2fv(p7);
glEnd();
glBegin(GL_POINTS);
glVertex2fv(p0);
glVertex2fv(p1);
glVertex2fv(p2);
glVertex2fv(p3);
glVertex2fv(p4);
glVertex2fv(p5);
glVertex2fv(p6);
glVertex2fv(p7);
glEnd();
p0p1
p2
p3
p4
p5
p6
p7
Computer Graphics23
Lines in OpenGL (1)
Line Segments
glBegin(GL_LINES);
glVertex2fv(p0);
glVertex2fv(p1);
glVertex2fv(p2);
glVertex2fv(p3);
glVertex2fv(p4);
glVertex2fv(p5);
glVertex2fv(p6);
glVertex2fv(p7);
glEnd();
glBegin(GL_LINES);
glVertex2fv(p0);
glVertex2fv(p1);
glVertex2fv(p2);
glVertex2fv(p3);
glVertex2fv(p4);
glVertex2fv(p5);
glVertex2fv(p6);
glVertex2fv(p7);
glEnd();
p0p1
p2
p3
p4
p5
p6
p7
Computer Graphics24
Lines in OpenGL (2)
Polylines – Line Loop
glBegin(GL_LINE_LOOP);
glVertex2fv(p0);
glVertex2fv(p1);
glVertex2fv(p2);
glVertex2fv(p3);
glVertex2fv(p4);
glVertex2fv(p5);
glVertex2fv(p6);
glVertex2fv(p7);
glEnd();
glBegin(GL_LINE_LOOP);
glVertex2fv(p0);
glVertex2fv(p1);
glVertex2fv(p2);
glVertex2fv(p3);
glVertex2fv(p4);
glVertex2fv(p5);
glVertex2fv(p6);
glVertex2fv(p7);
glEnd();
p0p1
p2
p3p4
p5
p6
p7
Computer Graphics25
Polygons in OpenGL (1)
Triangles
glBegin(GL_TRIANGLES);
glVertex2fv(p0);
glVertex2fv(p1);
glVertex2fv(p2);
glVertex2fv(p3);
glVertex2fv(p4);
glVertex2fv(p5);
glVertex2fv(p6);
glVertex2fv(p7);
glEnd();
glBegin(GL_TRIANGLES);
glVertex2fv(p0);
glVertex2fv(p1);
glVertex2fv(p2);
glVertex2fv(p3);
glVertex2fv(p4);
glVertex2fv(p5);
glVertex2fv(p6);
glVertex2fv(p7);
glEnd();
p0p1
p2
p3p4
p5
p6
p7
Computer Graphics26
Polygons in OpenGL (2)
Quadrilaterals
glBegin(GL_QUADS);
glVertex2fv(p0);
glVertex2fv(p1);
glVertex2fv(p2);
glVertex2fv(p3);
glVertex2fv(p4);
glVertex2fv(p5);
glVertex2fv(p6);
glVertex2fv(p7);
glEnd();
glBegin(GL_QUADS);
glVertex2fv(p0);
glVertex2fv(p1);
glVertex2fv(p2);
glVertex2fv(p3);
glVertex2fv(p4);
glVertex2fv(p5);
glVertex2fv(p6);
glVertex2fv(p7);
glEnd();
p0p1
p2
p3p4
p5
p6
p7
Computer Graphics27
Polygons in OpenGL (3)
Polygon
glBegin(GL_POLYGON);
glVertex2fv(p0);
glVertex2fv(p1);
glVertex2fv(p2);
glVertex2fv(p3);
glVertex2fv(p4);
glVertex2fv(p5);
glVertex2fv(p6);
glVertex2fv(p7);
glEnd();
glBegin(GL_POLYGON);
glVertex2fv(p0);
glVertex2fv(p1);
glVertex2fv(p2);
glVertex2fv(p3);
glVertex2fv(p4);
glVertex2fv(p5);
glVertex2fv(p6);
glVertex2fv(p7);
glEnd();
p0p1
p2
p3p4
p5
p6
p7
Computer Graphics28
Drawing Points (1)
Computer Graphics29
Drawing Points (2)
Computer Graphics30
Drawing Points (3)
Computer Graphics31
Drawing Points (4)
Computer Graphics32
Drawing Points (5)
Computer Graphics33
실행 결과 – Drawing Points
Computer Graphics34
연습 문제 (2)
다음 도형들을 마우스로 이용하여 점의 위치를 입력 받고, OpenGL 함수를 이용하여 그리시오.
Lines (선분)
Triangles (삼각형)
Rectangles (직사각형)
N-Polygons (다각형)