COMP4070 Computer Graphics Dr. Amy Zhang
COMP4070 Computer Graphics
Dr. Amy Zhang
Welcome!
2
Introductions Administrative Matters Course Outline What is Computer Graphics?
About us…
3
Dr. Amy Zhang [email protected] E408-R6 3620632
Mr. Mike Huang [email protected] E408-H1 3620614
• Course websitewww.uic.edu.hk/~amyzhang/teaching/comp4070
About you…
4
What is your name? Where do you come from? What are your experiences on computer
graphics? What do you want to learn from this course?
Outline Introductions Administrative Matters Course Outline Applications of Computer Graphics
5
Lectures and Tutorials
6
Lectures Tuesday 17:00-17:50 pm B203 Friday 8:00-9:50 am B202
Tutorials Will be announced later Usually weekly - exceptions will be announced
What do you need to know?
7
A programming language in the C-family C / C++ All Assignments need to be submitted in C / C++
NOT Graphics / OpenGL / linear algebra We will cover what you need in class
Reference books
8
• Computer Graphics Using OpenGL, by Francis S. Hill, Jr., 2nd or 3rd edition, Prentice Hall, ISBN: 0023548568.
• OpenGL Programming Guide, Fourth Edition: The Official Guide to Learning OpenGL, Version 1.5, by Woo et al., Addison Wesley, ISBN: 0201604582.
Required Software
9
Microsoft Visual Studio 2008 or 2010 http://www.microsoft.com/express/Downloads/#2010-Visual-CPP
Your finished programs must compile and run under Windows OS You can use UNIX, Linux, or Mac OS X for
development, but we don’t support them
Grading
10
The final grade depends on: Continuous assessment: 50%
Assignment average: 40%Midterm test: 10%
Final exam: 50%
Assignment
11
About 6 short programming assignments: 1 student independently Submit via email The deadline is non-negotiable
Academic Honesty
12
You must identify code that is not your own Mention original author(s) in source or README
files Do not remove original headers! Do not collaborate with other students
Outline
13
Introductions Administrative Matters Course Outline Applications of Computer Graphics
What is this course about? Basic goal: Teach you the fundamentals for
writing your own graphics applications We want you to:
learn how to programming in OpenGL understand computer graphics concepts have some fun!
14
Examples
15
Offline Rendering 8 Years Ago
Shrek, PDI Dreamworks16
Interactive 8 Years Ago
Quake 3, id software17
Modern Offline Rendering
18
Modern Offline Rendering
Cars, Pixar19
Modern Interactive Rendering
Project Gotham Racing
20
What happened in the past 8 years? Interactive is delivering near-offline quality
1,000,000x faster GPUs have taken advantage of semiconductor
trends to deliver performance GPU strengths/weaknesses have sparked
innovation in algorithms and software
21
Trends: Moore’s law
22
PC Architecture
23
GPU Programming
Nvidia, EG 2004
24
How to get from here to here?
25
The Graphics Pipeline
Application
Command
Geometry
Rasterization
Fragment
Display
CPU
GPU
26
The Graphics Pipeline
Quake 3: define game behavior networking user input events sound processing game AI game physics
Application
Command
Geometry
Rasterization
Fragment
Display27
The Graphics Pipeline
Quake 3: send OpenGL
commands
OpenGL driver: process GL command
stream talk to GPU
Application
Command
Geometry
Rasterization
Fragment
Display28
The Graphics Pipeline
GPU: vertex
transformations vertex lighting Clipping primitive assembly
Application
Command
Geometry
Rasterization
Fragment
Display29
The Graphics Pipeline
GPU: convert triangles to
fragments tex coordinate
interpolation color interpolation
Application
Command
Geometry
Rasterization
Fragment
Display30
The Graphics Pipeline
GPU: Texturing depth test color blending
Application
Command
Geometry
Rasterization
Fragment
Display31
The Graphics Pipeline
Application
Command
Geometry
Rasterization
Fragment
Display
id software
32
Ray Tracing
33
What we will cover• Principles of graphics programming using
OpenGL– Interactive 3D graphics– Details of OpenGL graphics pipeline– Special effects (bump mapping, etc.)
• Principles of ray tracing– Off-line photorealistic 3D graphics
• Fundamentals of computer graphics– Light & color, camera models, Bézier splines, etc.
34
Outline Introductions Administrative Matters Course Outline Applications of Computer Graphics
35
Movies & Games
36
VisualizationDemo
37
Digital Photography & Video
38 panorama
Computer Aided Design (CAD)
39
Virtual and Augmented Reality
40
Art
Artificial Evolution for Computer GraphicsKarl Sims, SIGGRAPH ’91
Steven Parentehttp://www.alohablooms.com/atomica1.html
41
What is Computer Graphics? Creating real and fantasy worlds Gaining insights into data Improving photography & video Designing new products Augmenting & escaping reality Creating works of art
42
Links
43
Face morphing: http://www.tudou.com/programs/view/xGw9kJCPwco/ http://www.tudou.com/programs/view/mJF4LQtkIm4/
Panorama: http://panorama.firmtools.com/download/
Holographic imaging: http://v.ku6.com/show/pvP32qh1vf2YpTH6.html