168 471 computer graphics, kku. lecture 101 introduction to opengl

23
168 471 Computer Graphics, KKU. Lec ture 10 1 Introduction to OpenGL

Upload: felix-simmons

Post on 01-Jan-2016

239 views

Category:

Documents


4 download

TRANSCRIPT

168 471 Computer Graphics, KKU. Lecture 10

1

Introduction to OpenGL

168 471 Computer Graphics, KKU. Lecture 10

2

168 471 Computer Graphics, KKU. Lecture 10

3

168 471 Computer Graphics, KKU. Lecture 10

4

168 471 Computer Graphics, KKU. Lecture 10

5

OpenGL/GLU/GLUT/GLUI

• OpenGL v1.4 (latest) is the “core” library that is platform independent

• GLUT v3.6 or v3.7 (beta) is an auxiliary library that handles window creation, OS system calls (mouse buttons, movement, keyboard, etc), callbacks.

• GLU is an auxiliary library that handles a variety of graphics accessory functions

• GLUI v1.0 or v2.0 (beta)is a GUI manager written by Paul Rademacher ([email protected]).

168 471 Computer Graphics, KKU. Lecture 10

6

168 471 Computer Graphics, KKU. Lecture 10

7

168 471 Computer Graphics, KKU. Lecture 10

8

GLUT 3D Primitives

168 471 Computer Graphics, KKU. Lecture 10

9

168 471 Computer Graphics, KKU. Lecture 10

10

168 471 Computer Graphics, KKU. Lecture 10

11

168 471 Computer Graphics, KKU. Lecture 10

12

168 471 Computer Graphics, KKU. Lecture 10

13

168 471 Computer Graphics, KKU. Lecture 10

14

168 471 Computer Graphics, KKU. Lecture 10

15

Double Buffer

• Graphics card scans out the image on the frame buffer. What rate is this done at?

• So what is the problem with this?• You might be in the middle of drawing a frame

when it decides to scan out the image• What is a solution?• Have two separate frame buffers, one that

the card scans out of, and the other you draw into. When you are done drawing a frame, you switch their roles

• What are the memory requirements?

168 471 Computer Graphics, KKU. Lecture 10

16

Double Buffering

...

glVertex3f(0.1,0.1,0.1)

glutSwapBuffers();

...

168 471 Computer Graphics, KKU. Lecture 10

17

Double Buffering...

glVertex3f(0.1,0.1,0.1)

glutSwapBuffers();

...

168 471 Computer Graphics, KKU. Lecture 10

18

168 471 Computer Graphics, KKU. Lecture 10

19

168 471 Computer Graphics, KKU. Lecture 10

20

168 471 Computer Graphics, KKU. Lecture 10

21

168 471 Computer Graphics, KKU. Lecture 10

22

168 471 Computer Graphics, KKU. Lecture 10

23