310482 : graphics programming seree chinodom ee/lecture/310482

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

Upload: archibald-patterson

Post on 19-Jan-2018

224 views

Category:

Documents


0 download

DESCRIPTION

จุดมุ่งหมายของวิชานี้  ปูพื้นฐานอย่าง กว้างๆ ของ Computer Graphics และ Graphic Programming  เข้าใจถึงเทคนิคต่างๆ ที่นำกระบวนการ ทางคณิตศาสตร์มาใช้งาน  เข้าใจถึงกระบวนการสร้างภาพ 2 และ 3 มิติ

TRANSCRIPT

Page 1: 310482 : Graphics Programming Seree Chinodom  ee/lecture/310482

310482 : Graphics

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

Page 2: 310482 : Graphics Programming Seree Chinodom  ee/lecture/310482

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 Seree Chinodom  ee/lecture/310482

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

Graphics และ Graphic Programming

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

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

Page 4: 310482 : Graphics Programming Seree Chinodom  ee/lecture/310482

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 Seree Chinodom  ee/lecture/310482

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 Seree Chinodom  ee/lecture/310482

Primitiv e Operations

Transformations on drawingprimitives Translate

Page 7: 310482 : Graphics Programming Seree Chinodom  ee/lecture/310482

Primitiv e Operations

(Cont.)Rotate

Page 8: 310482 : Graphics Programming Seree Chinodom  ee/lecture/310482

Primitiv e Operations

(Cont.) Scale

Page 9: 310482 : Graphics Programming Seree Chinodom  ee/lecture/310482

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 programmi ngassi gnments, twoexams 50 20Grade: % programs, % midterm,

3 0 % f inal YYY YYY Y YYYY YYYY YYYYYYY Y YY

whatever language/environment you want, but

we have to be able to test them!

Page 10: 310482 : Graphics Programming Seree Chinodom  ee/lecture/310482

Texts: Donald Hearn and M. Pauline Baker ,

Computer Graphics, C Version (required)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 Seree Chinodom  ee/lecture/310482

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 Seree Chinodom  ee/lecture/310482

A Short History 1963: Sutherland (MIT)

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

1968: Evans &Sutherland advance 3 D graphic at University of Utah

Ed Catmull, Jim Clarh, John Warnock

Page 13: 310482 : Graphics Programming Seree Chinodom  ee/lecture/310482

A ShortHistory(cont) 1970: Pierre Bezier develops Bezier curve

s H HHHH 1971 Gouraud developed Gouraud Sh

ading 1972: Video game Pong HH HHHHHHHHH HH HHHHH 1972 2D raster display for PC workstation at

Xerox. 1973 HHHHH SIGGRAPH HHHHHHHHHH

Attende by 600

Page 14: 310482 : Graphics Programming Seree Chinodom  ee/lecture/310482

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 P

hong 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 Seree Chinodom  ee/lecture/310482

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

1976 Rob Cook developed new lighting models.

1977 Nintendo entered the market. 1980 Film Bol Libre (by Loren Carpentar

Y YYY YYYYY YY YYYYYYYYY - Computer generates high speed flight thru rug

ged mountains; used fractals

Page 16: 310482 : Graphics Programming Seree Chinodom  ee/lecture/310482

1980: YYYYYY Y YYYYYY YYYYYYYYYY YYYYYYY YYY YYYYYYYYY YYYYYY 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 Seree Chinodom  ee/lecture/310482

1982 Tom Brigham develop HHHHHHHH. 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 gener at ed i mages. 1983 Jaron Lanier developed the H HHH H HHH

H at Atari. 1984 Raduosity method was deceloped at C

ornell University by Cindy Goral, Ken Torrance, D on Greenberg and Ben Battaile.

Page 18: 310482 : Graphics Programming Seree Chinodom  ee/lecture/310482

1985 Ken Shoemake introduced the YY YYYYYYYYYYY YY YYYYYYYYYY.

1985 Adobe System introduced Postscript.

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

scribing3Dscencs was cr eat ed. Most of the tecnicial details by Pat Hanr

ahan.

Page 19: 310482 : Graphics Programming Seree Chinodom  ee/lecture/310482

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 Seree Chinodom  ee/lecture/310482

1994 Netscape Communications YYYYYYYY.

1994 Sun microsystem introduced.

1997 97SIGGRAPH’ had > 48000, attendeed.

1998 Ants and A Bug’s Life were r.

Page 21: 310482 : Graphics Programming Seree Chinodom  ee/lecture/310482

The BasicsThis 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 Seree Chinodom  ee/lecture/310482

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 Seree Chinodom  ee/lecture/310482

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 Seree Chinodom  ee/lecture/310482

Graphics ApplicationsEntertainment: Cinema

Pixar: Geri’s Game

Universal: Jurassic Park

Page 25: 310482 : Graphics Programming Seree Chinodom  ee/lecture/310482

Graphics ApplicationsEntertainment: Games

Cyan: Riven

id: Quake II

Page 26: 310482 : Graphics Programming Seree Chinodom  ee/lecture/310482

Graphics ApplicationsMedical Visualization

MIT: Image-Guided Surgery Project

The Visible Hum

an Project

Page 27: 310482 : Graphics Programming Seree Chinodom  ee/lecture/310482

Graphics ApplicationsComputer Aided Design

(CAD)

Page 28: 310482 : Graphics Programming Seree Chinodom  ee/lecture/310482

Graphics ApplicationsScientific Visualization

Page 29: 310482 : Graphics Programming Seree Chinodom  ee/lecture/310482

Trick Question

What’s a pixel?

Page 30: 310482 : Graphics Programming Seree Chinodom  ee/lecture/310482

UNIXYou 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