310482 : graphics programming

30
310482 : Graphics Programming Seree Chinodom [email protected] http:// www.compsci.buu.ac.th/ ~seree/lecture/310482

Upload: rendor

Post on 13-Jan-2016

57 views

Category:

Documents


4 download

DESCRIPTION

310482 : Graphics Programming. Seree Chinodom [email protected] http://www.compsci.buu.ac.th/~seree/lecture/310482. Introduction to Computer Graphics. Simple Definition: - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 310482 :  Graphics Programming

310482 : Graphics

Programming

Seree Chinodom [email protected]://www.compsci.buu.ac.th/~seree/lecture/310482

Page 2: 310482 :  Graphics Programming

Introduction to Co Introduction to Co mputer Graphics mputer Graphics

Simple Definition: ทุ�กอย่�างทุ�เก�ย่วข้�องก�บการนำ�าคอมพิ�วเตอร�มาใช้�ในำการ

สร�างร�ปภาพิต�าง ๆ ( การออกแบบ Hardware, Software ทุ�ใช้�, Algorithm ต�างๆ, Application)

Representative Uses of Computer Graphics User interfaces Mac, Windows(TM) เป#นำต�นำ Simulation Design Display of information

Page 3: 310482 :  Graphics Programming

จุ�ดม��งหมาย่ข้องว�ช้านำ' ปู�พื้��นฐานอย่�าง กว้�างๆ ของ Computer

Graphics และ Graphic Programming

เข�าใจถึ�งเทคน�คต่�างๆ ท��น ากระบว้นการ ทางคณิ�ต่ศาสต่ร&มาใช้�งาน

เข�าใจถึ�งกระบว้นการสร�างภาพื้ 2 และ 3ม�ต่�

Page 4: 310482 :  Graphics Programming

What is ComputerGraphics?

Tools for creating pictures on a computer Tools for interacting with those pictures Hardware for drawing those pictures faster Displays for showing those pictures

bigger,brighter Algorithms for simulating physical

phenomena Tools for visualization of complex

mathematics

Page 5: 310482 :  Graphics Programming

Graphics Primitives Drawing primitives

Points, lines, circles, arcs, curves, polygons Scene primitives

Lights, virtual camera, materialdescriptions

Lots of drawing primitives form a model of some object

The model plus the scene primitives let us make a picture

Page 6: 310482 :  Graphics Programming

Primitiv e Operations

Transformations on drawingprimitives Translate

Page 7: 310482 :  Graphics Programming

Primitiv e Operations

(Cont.)

Rotate

Page 8: 310482 :  Graphics Programming

Primitiv e Operations

(Cont.)

Scale

Page 9: 310482 :  Graphics Programming

A Little About theCourse Course web site:http://www.compsci.buu.ac.th/~seree

/lecture/310482/ All course materials are available

there (slides, assignments, exams, sample code).

5 programming assignments, twoexams

Grade: 50% programs, 20% midterm, 30% final

YYY YYY YYYYY YYYY YYYYYYYY YY YYYYYYYY YYYYYYYYYYYYYYYYYYYY YYY YYYYY YYY YY

have tobe abl e to test them!

Page 10: 310482 :  Graphics Programming

Texts:

Donald Hearn and M. Pauline Baker , Computer Graphics, C Version (require

d)Foley, J.D., A. van Dam, S. K. Feiner, et al.

(1996). Computer Graphics: Principles and Practice 2nd Edition, Addison Wesley, Reading, MA

OpenGL Programming Guide (optional) Tcl and Tk (optional)

Page 11: 310482 :  Graphics Programming

Course Outline Course Outline Introduction to

computer graphicsHardware 2D PrimitiveGeometri

c Transformation 3Viewing in D Representin

g Curves andSurface

Solid Modeling Achromatic and

Colored Light Visible Surface

Determination Illumination and

Shading Advance

TechniquesAnimation

Page 12: 310482 :  Graphics Programming

A Short History 1963: Sutherland (MIT)

Sketchpad Calligraphic display devices Interactive techniques Douglas Englebart invents the mouse.

1968: Evans & Sutherland advance 3 D graphic atUniversity of Ut

ah Ed Catmull, Jim Clarh, John Warnock

Page 13: 310482 :  Graphics Programming

A ShortHistory(cont)

1970: Pierre Bezier develops Bezier curves

HHHHH 1971 Gouraud developed GouraudShading

1972: Video game Pong HH HHHHHHHHH HH HHHHH

1972 2D raster display for PC workstation at Xerox.

1973 HHHHH SIGGRAPH HHHHHHHHHH Attende by 6 0 0

Page 14: 310482 :  Graphics Programming

A ShortHistory(cont) 1974: Ed Catmull introduce texture

mapping His thesis also covered - z buffer and rende

ring curved surface Was appointed the director of graphics la

bs at New York Institute of Technology. 1974 - Bui Toung developed Phong

Shading (Utah) 1974 Xerox ParC created ALTO, the firs

t computer to use a WIMP interface 1975 Benoit Mandelbrot published

the paper A Theory of Fractal Sets

Page 15: 310482 :  Graphics Programming

1976: James Blinn develops bump mapping. Uses color to draw bumps on surface

1976 Rob Cook developed new lighting models.

1977 Ni ntendoenteredthe market. 1980 Film Bol Libre (by Loren Carpentar) w

YY YYYY Y YY YYY Y Y Y Y Y Y - Computer generates high speed flight thru ru

gged mountains; used fractals

Page 16: 310482 :  Graphics Programming

1980: YYYYYY Y YYYYYY YYYYYYYYYY YYYYYYY YYY YYYYYYYYY Y YYYYY YYYYY YY Ray TracingY

1982 Disney produced Tron (by Steven Lisberger and Donald Kushner)

1982 Jim Clark founded Silicon Graphics Inc. Introduce IRIS 1000 the following year.

1982 Sun microsystem, Autodesk and Adobe System were also founded.

Page 17: 310482 :  Graphics Programming

1982 TomBr i ghamdevel op H HHHHHHH. A video sequence showing a woman distort and tran

sform herself into the shape of lynx. 1983 First paper on motion blur in compute

r generated images. 1983 Jaron Lanier developed the H HHH H HHH

H atAt ar i . 1984 Raduosity method was deceloped at

HH HHHHH H HHHHH HHH HHHHHHHHH , , Don Greenberg and Ben Battaile.

Page 18: 310482 :  Graphics Programming

1985 Ken Shoemake introduced the YY YYYYYYYYYYY YY YYYYYYYYYY.

1985 Adobe System introduced Pos.

1986 Pixar was founfed. 1988 Renderman, a standard for d

escribing3Dscencs was cr eat ed. Most of the tecnicial details by Pat Han

rahan.

Page 19: 310482 :  Graphics Programming

1989 Tin Toy and The Abyss were released.

1990 3Autodesk introdoced D studio.1991Terminator 2 was released.1992 Wavelets were used for radiosity.1994 Indrustrial Ligh and Magic won

an Osca for its special-effects work on Jurassic Park

Page 20: 310482 :  Graphics Programming

1994 Netscape Communications YYYYYYYY.

1994 Sun microsystem YYYYY.

1997 97SIGGRAPH’ had > 48000, attendeed.

1998 Ants and A Bug’s Life were.

Page 21: 310482 :  Graphics Programming

The Basics

This course is about: Algorithms and data structures for

presenting data visually on a computer

This course is not about: Using graphic design programs

like Photoshop or 3-D Studio MaxUsing graphics APIs like OpenGL

Page 22: 310482 :  Graphics Programming

The BasicsComputer graphics: generating 2D

images of a 3D world represented in a computer.

Main tasks: modeling: creating and representing the

geometry of objects in the 3D world rendering: generating 2D images of the

objects animation: describing how objects change

in time

Page 23: 310482 :  Graphics Programming

Why Study Computer Graphics?Graphics is cool

I like to see what I’m doing I like to show people what I’m doing

Graphics is interesting Involves simulation, algorithms,

architecture…Graphics is important

Just ask Intel…Graphics is fun

Roll the video…

Page 24: 310482 :  Graphics Programming

Graphics ApplicationsEntertainment: Cinema

Pixar: Geri’s Game

Universal: Jurassic Park

Page 25: 310482 :  Graphics Programming

Graphics Applications

Entertainment: Games

Cyan: Riven

id: Quake II

Page 26: 310482 :  Graphics Programming

Graphics ApplicationsMedical Visualization

MIT: Image-Guided Surgery Project

Th

e V

isib

le H

um

an

Pro

jec

t

Page 27: 310482 :  Graphics Programming

Graphics Applications

Computer Aided Design (CAD)

Page 28: 310482 :  Graphics Programming

Graphics Applications

Scientific Visualization

Page 29: 310482 :  Graphics Programming

Trick Question

What’s a pixel?

Page 30: 310482 :  Graphics Programming

UNIX

You should familiarize yourself with UNIX Getting around: cd, mkdir/rmdir, cp/mv/rm Using make and Makefiles Using gdb

We will use 2 libraries: OpenGL and Xforms OpenGL native on SGIs; on other

platforms Mesa