310482 graphics programming n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
310482 : Graphics Programming PowerPoint Presentation
Download Presentation
310482 : Graphics Programming

Loading in 2 Seconds...

play fullscreen
1 / 30

310482 : Graphics Programming - PowerPoint PPT Presentation


  • 110 Views
  • Uploaded on

310482 : Graphics Programming. Seree Chinodom seree@buu.ac.th http://www.compsci.buu.ac.th/~seree/lecture/310482. Introduction to Computer Graphics. Simple Definition:

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about '310482 : Graphics Programming' - rendor


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
310482 graphics programming

310482 : Graphics Programming

Seree Chinodom

seree@buu.ac.th

http://www.compsci.buu.ac.th/~seree/lecture/310482

introduction to computer graphics
Introduction to Computer Graphics
  • Simple Definition:
    • ทุกอย่างที่เกี่ยวข้องกับการนำคอมพิวเตอร์มาใช้ในการสร้างรูปภาพต่าง ๆ ( การออกแบบ Hardware, Software ที่ใช้, Algorithm ต่างๆ, Application)
  • Representative Uses of Computer Graphics
    • User interfaces Mac, Windows(TM) เป็นต้น
    • Simulation
    • Design
    • Display of information
slide3
จุดมุ่งหมายของวิชานี้จุดมุ่งหมายของวิชานี้
  • ปูพื้นฐานอย่าง กว้างๆ ของ Computer Graphics และ Graphic Programming
  • เข้าใจถึงเทคนิคต่างๆ ที่นำกระบวนการ ทางคณิตศาสตร์มาใช้งาน
  • เข้าใจถึงกระบวนการสร้างภาพ 2 และ 3 มิติ
what is computer graphics
What is Computer Graphics?
  • 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
Graphics Primitives
  • Drawing primitives
    • Points, lines, circles, arcs, curves, polygons
  • Scene primitives
    • Lights, virtual camera, material descriptions
  • Lots of drawing primitives form a model of some object
  • The model plus the scene primitives let us make a picture
primitive operations
Primitive Operations
  • Transformations on drawing primitives
    • Translate
a little about the course
A Little About the Course
  • 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, two exams
  • Grade: 50% programs, 20% midterm, 30% final
  • You can write your programs in whatever

language/environment you want, but we have to be able to test them!

texts
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)
course outline
Introduction to computer graphics

Hardware

2D Primitive

Geometric Transformation

Viewing in 3D

Representing Curves and Surface

Solid Modeling

Achromatic and Colored Light

Visible Surface Determination

Illumination and Shading

Advance Techniques

Animation

Course Outline
a short history
A Short History
  • 1963: Sutherland (MIT)
    • Sketchpad
    • Calligraphic display devices
    • Interactive techniques
    • Douglas Englebart invents the mouse.
  • 1968: Evans & Sutherland advance 3D graphic at University of Utah
    • Ed Catmull, Jim Clarh, John Warnock
a short history cont
A Short History(cont)
  • 1970: Pierre Bezier develops Bezier curves
  • 1971: Henri Gouraud developed Gouraud Shading
  • 1972: Video game Pong is developed at Atari
  • 1972 2D raster display for PC workstation at Xerox.
  • 1973 First SIGGRAPH conference

Attende by 600

a short history cont1
A Short History(cont)
  • 1974: Ed Catmull introduce texture mapping
    • His thesis also covered z-buffer and rendering curved surface
    • Was appointed the director of graphics labs at New York Institute of Technology.
  • 1974:Pong Bui-Toung developed Phong Shading (Utah)
  • 1974 Xerox ParC created ALTO, the first computer to use a WIMP interface
  • 1975 Benoit Mandelbrot published the paper A Theory of Fractal Sets
slide15
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) was shown at SIGGRAPH.
    • Computer generates high-speed flight thru rugged mountains; used fractals
slide16
1980: Turner Whitted introduces develop new rendering method based on Ray Tracing.
  • 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.
slide17
1982 Tom Brigham develop morphing.
    • A video sequence showing a woman distort and transform herself into the shape of lynx.
  • 1983 First paper on motion blur in computer generated images.
  • 1983 Jaron Lanier developed the Data Glove at Atari.
  • 1984 Raduosity method was deceloped at Cornell University by Cindy Goral, Ken Torrance, Don Greenberg and Ben Battaile.
slide18
1985 Ken Shoemake introduced the use of quaternions in animation.
  • 1985 Adobe System introduced Postscript.
  • 1986 Pixar was founfed.
  • 1988 Renderman, a standard for describing 3D scencs was created.
    • Most of the tecnicial details by Pat Hanrahan.
slide19
1989 Tin Toy and The Abyss were released.
  • 1990 Autodesk introdoced 3D 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
slide20
1994 Netscape Communications was founded.
  • 1994 Sun microsystem introduced Java.
  • 1997 SIGGRAPH’97 had > 48,000 attendeed.
  • 1998 Ants and A Bug’s Life were released.
the basics
The Basics
  • This course is about:
    • Algorithms and data structures for presenting data visually on a computer
  • This course is not about:
    • Using graphicdesign programs like Photoshop or 3-D Studio Max
  • Using graphicsAPIs like OpenGL
the basics1
The Basics
  • Computer 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
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 applications
Graphics Applications
  • Entertainment: Cinema

Universal: Jurassic Park

Pixar: Geri’s Game

graphics applications1
Graphics Applications
  • Entertainment: Games

id: Quake II

Cyan: Riven

graphics applications2
Graphics Applications
  • Medical Visualization

The Visible Human Project

MIT: Image-Guided Surgery Project

graphics applications3
Graphics Applications
  • Computer Aided Design (CAD)
graphics applications4
Graphics Applications
  • Scientific Visualization
trick question
Trick Question

What’s a pixel?

slide30
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