310482 : graphics programming
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 PresentationTRANSCRIPT
310482 : Graphics
Programming
Seree Chinodom [email protected]://www.compsci.buu.ac.th/~seree/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
จุ�ดม��งหมาย่ข้องว�ช้านำ' ปู�พื้��นฐานอย่�าง กว้�างๆ ของ Computer
Graphics และ Graphic Programming
เข�าใจถึ�งเทคน�คต่�างๆ ท��น ากระบว้นการ ทางคณิ�ต่ศาสต่ร&มาใช้�งาน
เข�าใจถึ�งกระบว้นการสร�างภาพื้ 2 และ 3ม�ต่�
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
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
Primitiv e Operations
Transformations on drawingprimitives Translate
Primitiv e Operations
(Cont.)
Rotate
Primitiv e Operations
(Cont.)
Scale
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!
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)
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
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
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
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
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
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.
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.
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.
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
1994 Netscape Communications YYYYYYYY.
1994 Sun microsystem YYYYY.
1997 97SIGGRAPH’ had > 48000, attendeed.
1998 Ants and A Bug’s Life were.
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
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
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…
Graphics ApplicationsEntertainment: Cinema
Pixar: Geri’s Game
Universal: Jurassic Park
Graphics Applications
Entertainment: Games
Cyan: Riven
id: Quake II
Graphics ApplicationsMedical Visualization
MIT: Image-Guided Surgery Project
Th
e V
isib
le H
um
an
Pro
jec
t
Graphics Applications
Computer Aided Design (CAD)
Graphics Applications
Scientific Visualization
Trick Question
What’s a pixel?
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