310482 : graphics programming seree chinodom ee/lecture/310482
DESCRIPTION
จุดมุ่งหมายของวิชานี้ ปูพื้นฐานอย่าง กว้างๆ ของ Computer Graphics และ Graphic Programming เข้าใจถึงเทคนิคต่างๆ ที่นำกระบวนการ ทางคณิตศาสตร์มาใช้งาน เข้าใจถึงกระบวนการสร้างภาพ 2 และ 3 มิติTRANSCRIPT
![Page 1: 310482 : Graphics Programming Seree Chinodom ee/lecture/310482](https://reader036.vdocuments.mx/reader036/viewer/2022062600/5a4d1bbe7f8b9ab0599d214a/html5/thumbnails/1.jpg)
310482 : Graphics
ProgrammingSeree Chinodom [email protected]://www.compsci.buu.ac.th/~seree/lecture/310482
![Page 2: 310482 : Graphics Programming Seree Chinodom ee/lecture/310482](https://reader036.vdocuments.mx/reader036/viewer/2022062600/5a4d1bbe7f8b9ab0599d214a/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062600/5a4d1bbe7f8b9ab0599d214a/html5/thumbnails/3.jpg)
จุดมุง่หมายของวชิานี้ ปูพื้นฐานอยา่ง กวา้งๆ ของ Computer
Graphics และ Graphic Programming
เขา้ใจถึงเทคนิคต่างๆ ท่ีนำากระบวนการ ทางคณิตศาสตรม์าใชง้าน
เขา้ใจถึงกระบวนการสรา้งภาพ 2 และ 3มติิ
![Page 4: 310482 : Graphics Programming Seree Chinodom ee/lecture/310482](https://reader036.vdocuments.mx/reader036/viewer/2022062600/5a4d1bbe7f8b9ab0599d214a/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062600/5a4d1bbe7f8b9ab0599d214a/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062600/5a4d1bbe7f8b9ab0599d214a/html5/thumbnails/6.jpg)
Primitiv e Operations
Transformations on drawingprimitives Translate
![Page 7: 310482 : Graphics Programming Seree Chinodom ee/lecture/310482](https://reader036.vdocuments.mx/reader036/viewer/2022062600/5a4d1bbe7f8b9ab0599d214a/html5/thumbnails/7.jpg)
Primitiv e Operations
(Cont.)Rotate
![Page 8: 310482 : Graphics Programming Seree Chinodom ee/lecture/310482](https://reader036.vdocuments.mx/reader036/viewer/2022062600/5a4d1bbe7f8b9ab0599d214a/html5/thumbnails/8.jpg)
Primitiv e Operations
(Cont.) Scale
![Page 9: 310482 : Graphics Programming Seree Chinodom ee/lecture/310482](https://reader036.vdocuments.mx/reader036/viewer/2022062600/5a4d1bbe7f8b9ab0599d214a/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062600/5a4d1bbe7f8b9ab0599d214a/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062600/5a4d1bbe7f8b9ab0599d214a/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062600/5a4d1bbe7f8b9ab0599d214a/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062600/5a4d1bbe7f8b9ab0599d214a/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062600/5a4d1bbe7f8b9ab0599d214a/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062600/5a4d1bbe7f8b9ab0599d214a/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062600/5a4d1bbe7f8b9ab0599d214a/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062600/5a4d1bbe7f8b9ab0599d214a/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062600/5a4d1bbe7f8b9ab0599d214a/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062600/5a4d1bbe7f8b9ab0599d214a/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062600/5a4d1bbe7f8b9ab0599d214a/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062600/5a4d1bbe7f8b9ab0599d214a/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062600/5a4d1bbe7f8b9ab0599d214a/html5/thumbnails/22.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062600/5a4d1bbe7f8b9ab0599d214a/html5/thumbnails/23.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062600/5a4d1bbe7f8b9ab0599d214a/html5/thumbnails/24.jpg)
Graphics ApplicationsEntertainment: Cinema
Pixar: Geri’s Game
Universal: Jurassic Park
![Page 25: 310482 : Graphics Programming Seree Chinodom ee/lecture/310482](https://reader036.vdocuments.mx/reader036/viewer/2022062600/5a4d1bbe7f8b9ab0599d214a/html5/thumbnails/25.jpg)
Graphics ApplicationsEntertainment: Games
Cyan: Riven
id: Quake II
![Page 26: 310482 : Graphics Programming Seree Chinodom ee/lecture/310482](https://reader036.vdocuments.mx/reader036/viewer/2022062600/5a4d1bbe7f8b9ab0599d214a/html5/thumbnails/26.jpg)
Graphics ApplicationsMedical Visualization
MIT: Image-Guided Surgery Project
The Visible Hum
an Project
![Page 27: 310482 : Graphics Programming Seree Chinodom ee/lecture/310482](https://reader036.vdocuments.mx/reader036/viewer/2022062600/5a4d1bbe7f8b9ab0599d214a/html5/thumbnails/27.jpg)
Graphics ApplicationsComputer Aided Design
(CAD)
![Page 28: 310482 : Graphics Programming Seree Chinodom ee/lecture/310482](https://reader036.vdocuments.mx/reader036/viewer/2022062600/5a4d1bbe7f8b9ab0599d214a/html5/thumbnails/28.jpg)
Graphics ApplicationsScientific Visualization
![Page 29: 310482 : Graphics Programming Seree Chinodom ee/lecture/310482](https://reader036.vdocuments.mx/reader036/viewer/2022062600/5a4d1bbe7f8b9ab0599d214a/html5/thumbnails/29.jpg)
Trick Question
What’s a pixel?
![Page 30: 310482 : Graphics Programming Seree Chinodom ee/lecture/310482](https://reader036.vdocuments.mx/reader036/viewer/2022062600/5a4d1bbe7f8b9ab0599d214a/html5/thumbnails/30.jpg)
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