Top Banner
168 471 Computer Graphics, KKU. Lec ture 10 1 Introduction to OpenGL
23
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 168 471 Computer Graphics, KKU. Lecture 101 Introduction to OpenGL.

168 471 Computer Graphics, KKU. Lecture 10

1

Introduction to OpenGL

Page 2: 168 471 Computer Graphics, KKU. Lecture 101 Introduction to OpenGL.

168 471 Computer Graphics, KKU. Lecture 10

2

Page 3: 168 471 Computer Graphics, KKU. Lecture 101 Introduction to OpenGL.

168 471 Computer Graphics, KKU. Lecture 10

3

Page 4: 168 471 Computer Graphics, KKU. Lecture 101 Introduction to OpenGL.

168 471 Computer Graphics, KKU. Lecture 10

4

Page 5: 168 471 Computer Graphics, KKU. Lecture 101 Introduction to OpenGL.

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]).

Page 6: 168 471 Computer Graphics, KKU. Lecture 101 Introduction to OpenGL.

168 471 Computer Graphics, KKU. Lecture 10

6

Page 7: 168 471 Computer Graphics, KKU. Lecture 101 Introduction to OpenGL.

168 471 Computer Graphics, KKU. Lecture 10

7

Page 8: 168 471 Computer Graphics, KKU. Lecture 101 Introduction to OpenGL.

168 471 Computer Graphics, KKU. Lecture 10

8

GLUT 3D Primitives

Page 9: 168 471 Computer Graphics, KKU. Lecture 101 Introduction to OpenGL.

168 471 Computer Graphics, KKU. Lecture 10

9

Page 10: 168 471 Computer Graphics, KKU. Lecture 101 Introduction to OpenGL.

168 471 Computer Graphics, KKU. Lecture 10

10

Page 11: 168 471 Computer Graphics, KKU. Lecture 101 Introduction to OpenGL.

168 471 Computer Graphics, KKU. Lecture 10

11

Page 12: 168 471 Computer Graphics, KKU. Lecture 101 Introduction to OpenGL.

168 471 Computer Graphics, KKU. Lecture 10

12

Page 13: 168 471 Computer Graphics, KKU. Lecture 101 Introduction to OpenGL.

168 471 Computer Graphics, KKU. Lecture 10

13

Page 14: 168 471 Computer Graphics, KKU. Lecture 101 Introduction to OpenGL.

168 471 Computer Graphics, KKU. Lecture 10

14

Page 15: 168 471 Computer Graphics, KKU. Lecture 101 Introduction to OpenGL.

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?

Page 16: 168 471 Computer Graphics, KKU. Lecture 101 Introduction to OpenGL.

168 471 Computer Graphics, KKU. Lecture 10

16

Double Buffering

...

glVertex3f(0.1,0.1,0.1)

glutSwapBuffers();

...

Page 17: 168 471 Computer Graphics, KKU. Lecture 101 Introduction to OpenGL.

168 471 Computer Graphics, KKU. Lecture 10

17

Double Buffering...

glVertex3f(0.1,0.1,0.1)

glutSwapBuffers();

...

Page 18: 168 471 Computer Graphics, KKU. Lecture 101 Introduction to OpenGL.

168 471 Computer Graphics, KKU. Lecture 10

18

Page 19: 168 471 Computer Graphics, KKU. Lecture 101 Introduction to OpenGL.

168 471 Computer Graphics, KKU. Lecture 10

19

Page 20: 168 471 Computer Graphics, KKU. Lecture 101 Introduction to OpenGL.

168 471 Computer Graphics, KKU. Lecture 10

20

Page 21: 168 471 Computer Graphics, KKU. Lecture 101 Introduction to OpenGL.

168 471 Computer Graphics, KKU. Lecture 10

21

Page 22: 168 471 Computer Graphics, KKU. Lecture 101 Introduction to OpenGL.

168 471 Computer Graphics, KKU. Lecture 10

22

Page 23: 168 471 Computer Graphics, KKU. Lecture 101 Introduction to OpenGL.

168 471 Computer Graphics, KKU. Lecture 10

23