CIS736-Lecture-00-20080118 - Kansas State University

advertisement
Lecture 00 of 42
(Introduction to) Computer Graphics
Course Organization and Survey
Friday, 18 January 2008
William H. Hsu
Department of Computing and Information Sciences, KSU
KSOL course pages: http://snipurl.com/1y5gc / http://snipurl.com/1ybv6
Course web site: http://www.kddresearch.org/Courses/Spring-2008/CIS736
Instructor home page: http://www.cis.ksu.edu/~bhsu
Reading for Next Class:
Syllabus and Course Intro
Chapter 1, Eberly (2006) 3D Game Engine Design, 2e
CIS 636/736: (Introduction to) Computer
Graphics
Friday, 18 Jan 2008
Computing & Information Sciences
Kansas State University
Lecture Outline
 Course Information: Format, Exams, Resources, Assignments, Grading
 Overview
 Topics covered
 What is computer graphics?
 Applications
 Brief Tour of Computer Graphics
 A case study and some demos
 Survey of rendering and animation systems
 Applications to computer-aided design (CAD), manufacturing (CAM), and
engineering (CAE)
 Brief Tour of Visualization Systems
 Information, data, and scientific visualization
 Focus on informational graphics
CIS 636/736: (Introduction to) Computer
Graphics
Friday, 18 Jan 2008
Computing & Information Sciences
Kansas State University
Course Administration
 Course Pages (KSOL): http://snipurl.com/1y5gc / http://snipurl.com/1y5ih
 Class Web Page: www.kddresearch.org/Courses/Spring-2008/CIS736
 Instructional E-Mail Addresses – Best Way to Reach Instructor
 CIS736TA-L@listserv.ksu.edu (always use this to reach instructor and TA)
 CIS736-L@listserv.ksu.edu (everyone; substitute 636 for 736 for Intro to CG)
 Instructor: William Hsu, Nichols 213
 Office phone: +1 785 532 7905; home phone: +1 785 539 7180
 IM: AIM/MSN/YIM hsuwh/rizanabsith, ICQ 28651394/191317559, Google banazir
 Office hours: after class Mon/Wed/Fri; other times by appointment
 Graduate Teaching Assistant: Jing Xia
 Office location: Nichols 213a
 Office hours: to be announced on class web board
 Grading Policy
 Hour exams: 10% each (in-class, with notes); final (open-book): 25%
 Machine problems, problem sets (6 of 8): 18%; term project: 20%
 Paper reviews (2): 4%; class participation: 6% (HW, Q&A); labs 7%
CIS 636/736: (Introduction to) Computer
Graphics
Friday, 18 Jan 2008
Computing & Information Sciences
Kansas State University
Class Resources
 Course Content Management System (CMS)
 http://www.kddresearch.org/Courses/Spring-2008/CIS736
 Lecture notes (MS PowerPoint 97-2003, PDF)
 Homeworks (MS PowerPoint 97-2003, PDF)
 Exam and homework solutions (MS PowerPoint 97-2003, PDF)
 Class announcements (students’ responsibility) and grade postings
 Course Notes at Copy Center (Required)
 Mailing List (Automatic): CIS736-L@listserv.ksu.edu
 Homework/exams (before uploading to CMS, KSOL), sample data, solutions
 Class participation
 Project info, course calendar reminders
 Dated research announcements (seminars, conferences, calls for papers)
 LISTSERV Web Archive
 http://listserv.ksu.edu/archives/cis736-l.html
 Stores e-mails to class mailing list as browsable/searchable posts
CIS 636/736: (Introduction to) Computer
Graphics
Friday, 18 Jan 2008
Computing & Information Sciences
Kansas State University
Course Overview
 Graphics Systems and Techniques
 Main emphasis: shaders, lighting, mappings (textures, etc.) in OpenGL
 Photorealistic rendering and animation (Maya 2008, Blender; Ogre)
 2-D, 3-D models: curves, surfaces, visible surface identification, illumination
 Special topics: global illumination (ray tracing, radiosity), particle systems,
fractals, scientific visualization (sciviz) and information visualization (infoviz)
 Operations
 Surface modeling, mapping
 Pipelines for display, transformation, illumination, animation
 Computer Graphics (CG): Duality with Computer Vision
 Visualization and User Interfaces
 Applications
 CAD/CAM/CAE: object transformations, surface/solid modeling, animation
 Entertainment: 3-D games, photorealistic animation, etc.
 Analysis: info visualization, decision support, intelligent displays
CIS 636/736: (Introduction to) Computer
Graphics
Friday, 18 Jan 2008
Computing & Information Sciences
Kansas State University
Why Computer Graphics?
 Developing Computational Capability
 Rendering: synthesizing realistic-looking, useful, or interesting images
 Animation: creating visual impression of motion
 Image processing: analyzing, transforming, displaying images efficiently
 Better Understanding of Data, Objects, Processes through Visualization
 Visual summarization, description, manipulation
 Virtual environments (VR), visual monitoring, interactivity
 Human-computer intelligent interaction (HCII): training, tutoring, analysis,
control systems
 Time is Right
 Recent progress in algorithms and theory
 Rapidly emergence of new I/O (display and data acquisition) technologies
 Available computational power, improving price-performance-ratio of hardware
 Growth and interest of graphics industries (e.g., games, entertainment,
computer-aided design, visualization in science and business)
CIS 636/736: (Introduction to) Computer
Graphics
Friday, 18 Jan 2008
Computing & Information Sciences
Kansas State University
Image Synthesis Pipeline
Graphics
Database
Editing
Front-End
(Geometry Processing)
Back-End
Graphics
Database
(Rasterization)
Display
Traversal
Modeling
Transformation
Viewing
Operation
• Visible-Surface
Determination
• Scan Conversion
• Shading /
Illumination
CIS 636/736: (Introduction to) Computer
Graphics
Friday, 18 Jan 2008
Image
Computing & Information Sciences
Kansas State University
Hypermedia
User Interfaces
NCSA Data to Knowledge (D2K) &
Text to Knowledge (T2K):
http://alg.ncsa.uiuc.edu/do/tools/d2k
© 2004 National Center for Supercomputing Applications
Visual programming systems for
high-performance knowledge
discovery in databases (KDD)
 Hypermedia
 Database format (similar to hypertext)
 Provides display-based access to (internetworked) multimedia (text, image,
audio, video, etc.) documents
 Virtual Environments
 Immersion: interactive training, tutoring systems
 Entertainment hypermedia
 Visualization and Computer-Aided Design and Engineering (CAD/CAE)
 Visualization: scientific, data/information, statistics
 User interfaces for CAD/CAE/CAM/CASE
CIS 636/736: (Introduction to) Computer
Graphics
Friday, 18 Jan 2008
Computing & Information Sciences
Kansas State University
Relevant Topic Areas
 Analytic Geometry
 Art and Graphic Design
 Cognitive Science
 Computer Engineering
 Engineering Design
 Education
 Film
 Human Factors
 Linear Algebra
CAD
CAE / CASE
CAM
Rendering Hardware
VR Systems
Portable/Embedded CG
Immersive Training
Tutoring Interfaces
Color/Optical Models
CG/Vision Duality
Interface Design
Layout
CG Design
Visualization
Parametric Equations
Conics
Polygon Rendering
 Numerical Analysis
Computer
Graphics
(CG)
Surface Modeling
Physically-Based Modeling
Stat/Info Visualization
Transformations
Change of Coordinate Systems
User Modeling
Ergonomic Interfaces, I/O
CIS 636/736: (Introduction to) Computer
Graphics
Friday, 18 Jan 2008
Animation
Large-Scale CG
Computing & Information Sciences
Kansas State University
Curve and Surface Modeling
in Computer-Aided Design (CAD)
1
2
http://www.geocities.com/SiliconValley/Lakes/2057/nurbs.html
3
4
5
8
7
6
CIS 636/736: (Introduction to) Computer
Graphics
Friday, 18 Jan 2008
Computing & Information Sciences
Kansas State University
Computer-Generated Animation
(CGA)
Ratattouille
© 2007 Disney/Pixar
Kung-Fu Panda
© 2008 DreamWorks
Animation SKG
Meet the Robinsons
© 2007 Disney/Pixar
Toy Story (1995)
Toy Story 2 (1999)
Toy Story 3 (2010)
© Disney/Pixar
Happy Feet
© 2006
Warner Brothers
Wall-E
Shrek (2001)
© 2008 Disney/Pixar
Shrek 2 (2004)
Shrek the Third (2007)
© DreamWorks Animation SKG
Luxo Jr.
© 1986 Pixar Animation Studios
CIS 636/736: (Introduction to) Computer
Graphics
Friday, 18 Jan 2008
Computing & Information Sciences
Kansas State University
Fractal Systems
http://sprott.physics.wisc.edu/fractals.htm
CIS 636/736: (Introduction to) Computer
Graphics
Friday, 18 Jan 2008
Computing & Information Sciences
Kansas State University
Information Visualization
Visible Decisions SeeIT © 1999 VDI
CIS 636/736: (Introduction to) Computer
Graphics
http://www.advizorsolutions.com
Friday, 18 Jan 2008
Computing & Information Sciences
Kansas State University
Design Choices and Issues
in Computer Graphics
Determine Objectives of
Graphics System
Decision
Support
Entertainment
Control
Interface
Education
Determine
Display Objective
Interactively
Analyze
Data / Documents
Visualize Physical
Objects
Monitor
Process
Determine Representations
In Graphics Database
Solid Geometric
Model
Wireframe /
Polygon Mesh
Fractal
System
NURBS
Determine and Implement
Rendering Pipeline
Shaded-Polygon
Rendering
Ray Tracing
Radiosity and
Polygon Shading
Completed Design
CIS 636/736: (Introduction to) Computer
Graphics
Friday, 18 Jan 2008
Computing & Information Sciences
Kansas State University
Math Review for CIS 636
 Overview: First Month (Weeks 2-5 of Course)
 Review of mathematical foundations of CG: analytic geometry, linear algebra
 Line and polygon rendering
 Matrix transformations
 Graphical interfaces
 Line and Polygon Rendering (Week 3)
 Basic line drawing and 2-D clipping
 Bresenham’s algorithm
 Follow-up: 3-D clipping, z-buffering (painter’s algorithm)
 Matrix Transformations (Week 4)
 Application of linear transformations to rendering
 Basic operations: translation, rotation, scaling, shearing
 Follow-up: review of standard graphics libraries (e.g., OpenGL)
 Graphical Interfaces
 Brief overview
 Survey of windowing environments (MFC, Java AWT)
CIS 636/736: (Introduction to) Computer
Graphics
Friday, 18 Jan 2008
Computing & Information Sciences
Kansas State University
Online Recorded Lectures for CIS
636
Introduction to Computer Graphics
 Project Topics for CIS 636
 Computer Graphics Basics (8)
 1. Mathematical Foundations – week of Mon 21 Jan 2008
 2. Rasterizing and 2-D Clipping – week of Mon 28 Jan 2008
 3. OpenGL Primer 1 of 3 – week of Mon 28 Jan 2008
 4. Detailed Introduction to 3-D Viewing – week of Mon 04 Feb 2008
 5. OpenGL Primer 2 of 3 – week of Mon 11 Feb 2008
 6. Polygon Rendering – week of Mon 18 Feb 2008
 7. OpenGL Primer 3 of 3 – week of Mon 03 Mar 2008
 8. Visible Surface Determination – week of Mon 10 Mar 2008
 Recommended Background Reading for CIS 636
 Shared Lectures with CIS 736 (Computer Graphics)
 Regular in-class lectures (35) and labs (7)
 Guidelines for paper reviews – week of Mon 25 Feb 2008
 Preparing term project presentations and demos for graphics – April
CIS 636/736: (Introduction to) Computer
Graphics
Friday, 18 Jan 2008
Computing & Information Sciences
Kansas State University
Online Recorded Lectures for CIS
736
Computer Graphics
 Project Topics for CIS 736
 Advanced Topics in Computer Graphics (8)
 1. Filters for Texturing – week of Mon 28 Jan 2008
 2. More Mappings – week of Mon 18 Feb 2008
 3. Advanced Lighting Models – week of Mon 17 Mar 2008
 4. Advanced Ray-Tracing – week of Mon 25 Feb 2008
 5. Advanced Ray-Tracing, concluded – week of Mon 24 Mar 2008
 6. Global Illumination: Photon Maps (Radiosity) – week of Mon 31 Mar 2008
 7. More on Scientific, Data, Info Visualization – week of Mon 21 Apr 2008
 8. Terrain – week of Mon 11 Feb 2008
 Recommended Background Reading for CIS 636
 Shared Lectures with CIS 636 (Computer Graphics)
 Regular in-class lectures (35) and labs (7)
 Guidelines for paper reviews – week of Mon 25 Feb 2008
 Preparing term project presentations and demos for graphics – April
CIS 636/736: (Introduction to) Computer
Graphics
Friday, 18 Jan 2008
Computing & Information Sciences
Kansas State University
Background Expected
 Both Courses
 Proficiency in C/C++ or strong proficiency in Java and ability to learn
 Strongly recommended: matrix theory or linear algebra (e.g., Math 551)
 At least 120 hours for semester (up to 150 depending on term project)
 Textbook: 3D Game Engine Design, Second Edition (2006), Eberly
 Angel’s OpenGL: A Primer recommended
 CIS 636
 Fresh background in precalculus: Algebra 1-2, Analytic Geometry
 Linear algebra basics: matrices, linear bases, vector spaces
 Watch background lectures
 CIS 736 Computer Graphics
 Recommended: first course in graphics (background lectures as needed)
 OpenGL experience helps
 Read up on shaders and shading languages
 Watch advanced topics lectures; see list before choosing project topic
CIS 636/736: (Introduction to) Computer
Graphics
Friday, 18 Jan 2008
Computing & Information Sciences
Kansas State University
Textbook and Recommended Books
Required Textbook
Eberly, D. H. (2006). 3D Game Engine
Design: A Practical Approach to Real-Time
Computer Graphics, second edition. San
Francisco, CA: Morgan Kauffman.
1st
Recommended References
edition (outdated)
2nd
edition
Angel, E. O. (2007). OpenGL: A Primer,
third edition. Reading, MA: AddisonWesley. [2nd edition on reserve]
Shreiner, D., Woo, M., Neider, J., & Davis, T.
(2007). OpenGL® Programming Guide: The
Official Guide to Learning OpenGL®,
Version 2.1, sixth edition.
2nd edition (OK to use)
CIS 636/736: (Introduction to) Computer
Graphics
3rd edition
[“The Red Book”:
use 5th ed. or later]
Friday, 18 Jan 2008
Computing & Information Sciences
Kansas State University
References and Outside Reading
CIS 636/736: (Introduction to) Computer
Graphics
Friday, 18 Jan 2008
Computing & Information Sciences
Kansas State University
Syllabus [1]:
First Half of Course
CIS 636/736: (Introduction to) Computer
Graphics
Friday, 18 Jan 2008
Computing & Information Sciences
Kansas State University
Syllabus [2]:
Second Half of Course
CIS 636/736: (Introduction to) Computer
Graphics
Friday, 18 Jan 2008
Computing & Information Sciences
Kansas State University
Summary
 This course is a lot of work
 Reading: Eberly 2e – big book, like Foley et al.
 Programming assignments (3): expect to spend 10+ hours on each
 Written assignments (3): about 6-10 hours
 Term project: at least 20 hours (people have spent up to 50 or more)
 … but it can also be fun
 Visible results
 Nifty algorithms, high-performance hardware
 “Putting it all together”: very interdisciplinary field
 Decent job market for people with right development skills, ideas
 Applicable to many other areas of CS and IT
 Emphasis
 “Polygons to pixels pipeline”: viewing, VSD, lighting, shading, texturing
 Other topics to be covered: animation, curves and surfaces, collisions
 Brief survey of: ray tracing, visualization and color, fractals
CIS 636/736: (Introduction to) Computer
Graphics
Friday, 18 Jan 2008
Computing & Information Sciences
Kansas State University
Terminology
 Computer Graphics: Digital Synthesis, Manipulation of Visual Content
 Graphics Problems (see “Computer Graphics”, Wikipedia)




Geometry: representation and processing of surfaces
Animation: representation and manipulation of motion
Rendering: computationally reproducing appearance of light in scenes
Imaging:
 Different Approaches to Graphics
 Raster versus vector
 Sample-based versus geometry-based
 Purpose of Graphics
 Entertainment – games, visual effects in movies and television
 Communications – advertising, journalism
 Modeling / simulation – displaying events via graphical user interfaces
(GUIs)
 Visualization – displaying events for analysis and understanding
 Dual Problem: Inverse Input and Output
 Graphics (rendering): geometry to sample (image)
 Vision: sample to geometry
CIS 636/736: (Introduction to) Computer
Graphics
Friday, 18 Jan 2008
Computing & Information Sciences
Kansas State University
Download