1. Introduction to Computer Graphics
Pradondet Nilagupta
Dept. of Computer Engineering
Kasetsart University
204481 Foundation of Computer Graphics March 7, 2013 1
2. Lecture Outline
Course Information: Format, Resources
Overview
Topics covered
What is computer graphics?
Applications
204481 Foundation of
Computer Graphics March 7, 2013 2
3. Course Info and Administrative
Instructor: Pradondet Nilagupta
E-mail: pom@ku.ac.th
Phone: 9428555 ext. 1415 (office)
Office hours: after class; 1-2pm Monday or by
appointment
Web Page
Course Homepage:
http://www.cpe.ku.ac.th/~pom/courses/204481/
204481.html
Course Syllabus:
http://www.cpe.ku.ac.th/~pom/courses/204481/syllabus.html
204481 Foundation of
Computer Graphics March 7, 2013 3
4. Course Overview (1/2)
Graphics Systems and
Techniques
2-D, 3-D models: surfaces,
visible surface identification,
illumination
Photorealistic rendering :
shading models, ray tracing,
radiosity
Operations
Surface modeling, mapping
Pipelines for display,
transformation, illumination
204481 Foundation of
Computer Graphics March 7, 2013 4
5. Course Overview (2/2)
Mathematical Review
Review of mathematical foundations of CG:
analytic geometry, linear algebra
Line and polygon rendering
Matrix transformations
204481 Foundation of
Computer Graphics March 7, 2013 5
6. Relevant Disciplines
Rendering Hardware CAD
Immersive Training
VR Systems CAE / CASE
Analytic Geometry Portable/Embedded CG CAM
Tutoring Interfaces
Art and Graphic Design
Cognitive Science Color/Optical Models
CG/Vision Duality
Computer Engineering Interface Design
Engineering Design Layout
CG Design
Education Visualization
Film
Parametric Equations
Human Factors Conics Computer
Polygon Rendering
Linear Algebra Graphics
Numerical Analysis (CG)
Surface Modeling
Physically-Based Modeling
Stat/Info Visualization
Transformations
Change of Coordinate Systems
User Modeling Animation
204481 Foundation of Ergonomic Interfaces, I/O Large-Scale CG
Computer Graphics March 7, 2013 6
7. What is Computer Graphics?
204481 Foundation of Computer Graphics March 7, 2013 7
8. This is not Computer Graphics
1%
8
9%
1
2
3
4
4%
6
2%
7
[ 29:akin@sgi.com ] Re: Future development of
PEX/PHIGS]
[ 9:bthompso@reed] What is a good book for
Digital Image Processing]
[ 15:csp48@seq1.ke] Help! ASCII picture
needed…
[ 14:rcj2@cbnewsd.] Re: 3D igitizers… again
[240:raj@ms.uky.ed] Call For Papers -- ACM
Multimedia '93
204481 Foundation of
Computer Graphics March 7, 2013 8
9. What is Computer Graphics ?
Computer graphics is commonly
understood to mean the creation, st
orage and manipulation of models a
nd images. (Andries van Dam)
Computer graphic is concerned with
all aspects of producing pictures or
images using a computer.
the pictorial synthesis or real or
imaginary objects from their computer
based model
204481 Foundation of
Computer Graphics March 7, 2013 9
10. Computer Graphics
Computer Graphics
Synthesis of graphical images
Visualization :
creating an image from an abstract, symbolic
description.
Generation of Synthesis Image
using graphical primitives
data from real world phenomena
204481 Foundation of
Computer Graphics March 7, 2013 10
11. Image Processing
Image Processing
the transformation of an existing image into a
more desirable or useful image.
image enhancement, pattern detection
The following images represent how noise affects images
204481 Foundation of
Computer Graphics March 7, 2013 11
12. Image Analysis
Image Analysis (Computer Vision)
extracting symbolic information from the
image.
Computer Graphics Data => Picture
Image Processing Picture => Picture
204481Image Analysis of
Foundation Picture => Data
Computer Graphics March 7, 2013 12
13. What is Interactive Computer Graphics?
User controls contents, structure, and
appearance of objects and their displayed images
via rapid visual feedback
Basic components of an interactive graphics
system
input (e.g., mouse, tablet and stylus, force feedback
device,scanner…)
processing (and storage)
display/output (e.g., screen, paper-based printer, video
recorder…)
204481 Foundation of
Computer Graphics March 7, 2013 13
14. Why Computer Graphics? (1/5)
Humans communicate well with images
1/3 of your brain is devoted to visual
processing
A picture is worth a few hundred
megabytes
204481 Foundation of
Computer Graphics March 7, 2013 14
15. Why Computer Graphics? (2/5)
Developing Computational Capability
Rendering: synthesizing realistic-looking,
useful, or interesting images
Animation: creating visual impression of motion
Image processing: analyzing, transforming,
displaying images efficiently
204481 Foundation of
Computer Graphics March 7, 2013 15
16. Why Computer Graphics? (3/5)
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
204481 Foundation of
Computer Graphics March 7, 2013 16
17. Why Computer Graphics? (4/5)
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.,
information visualization, entertainment CAD)
204481 Foundation of
Computer Graphics March 7, 2013 17
18. Why Computer Graphics? (5/5)
advances in the last decade due mostly to the
microchip
software advances, especially in object-oriented
programming and real-time rendering algorithms
Hardware advances continue to benefit graphics:
faster inexpensive microprocessors and dedicated
graphics chips
screen technology: High-definition television (HDTV),
colour LCD
virtual reality interfaces (corneal implants?)
204481 Foundation of
Computer Graphics March 7, 2013 18
20. A Brief History
teletype printouts were first graphical output devices
lightpens were an early input device CAD applications beg
an in the 1960's plotters also a 60's development: high-res
olution, but slow main bottlenecks of computer graphics ba
ck then
cost of graphics hardware
expense of computer resources
batch systems weren't suitable
for interactive graphics
non-portability of hardware and
software
a new field: technology was
204481 primitive
Foundation of
Computer Graphics March 7, 2013 20
21. History of Computer Graphics (1/5)
1950 MIT’s Whirlwind
computer had computer
generated CRTs mid 19
50s SAGE command an
d control
1960s Ivan Sutherland’s
thesis - Sketchpad
introduced data
structures and interactive
techniques
http://www.computer.org/history/development/1951.htm
204481 Foundation of
Computer Graphics March 7, 2013 21
22. History of Computer Graphics (2/5)
1960s GM (general Motor)
developed CAD (Computer Aided Design) and
CAM
1968 Tektronix storage tubes
1970s Boeing CAD CAM
204481 Foundation of
Computer Graphics March 7, 2013 22
23. History of Computer Graphics (3/5)
Mid 1970s engineering workstations and
personal computers emerged separately
1980s new algorithms and techniques
new standards
ever more powerful system
transition from specialized field
1990s widespread use
low cost, but powerful personal workstations
networks
essential part of systems
now part of multimedia
204481 Foundation of
Computer Graphics March 7, 2013 23
24. History of Computer Graphics (4/5)
At first - progress was slow because
cost of equipment was high (specially
memory)
significant computing resources needed
difficulty in writing software ( harder than it
looks)
lack of standard and thus portability
lack of software tools
204481 Foundation of
Computer Graphics March 7, 2013 24
25. History of Computer Graphics (5/5)
Now - previous use
cost of equipment is low.
Most computer have necessary
computing resources for graphics
established standards,
implementations and tools
still difficulty in writing software ( still
harder than it looks)
204481 Foundation of
Computer Graphics March 7, 2013 25
26. Some of Historical Picture (1/2)
First truly interactive graphics
system, Sketchpad, pioneered
at MIT by Ivan Sutherland for h
is 1963 Ph.D. thesis. Sketchpad
, A Man-Machine Graphical Comm
unication System:
Sketchpad in 1963. Note the
use of a CRT monitor, light pe
n and function-key panel.
204481 Foundation of
Computer Graphics March 7, 2013 26
27. Some of Historical Picture (2/2)
http://www.man.ac.uk/Science_Engineering/CHSTM/nahc.htm
John VonNeuman
http://ei.cs.vt.edu/~history/VonNeumann.html Mark I
204481 Foundation of
Computer Graphics March 7, 2013 27
28. Applications of Computer Graphics
Applications of Computer Graphics
divided in 4 majors area
Display of Information
Design
Simulation
User Interface
204481 Foundation of
Computer Graphics March 7, 2013 28
29. Display of Information
Geographic
information system
(GIS)
Computerized
Tomography (CT)
Magnetic resonance http://www.soest.hawaii.edu/soest/about.ftp.html
imaging (MRI)
Ultrasound
positron-emission
tomography (PET)
204481 Foundation of http://www.queens.org/qmc/services/imaging/ct.htm
Computer Graphics March 7, 2013 29
30. Design
Computer-Aided Design (CAD)
Architecture
Design of Mechanical part
VLSI
etc...
http://www.memagazine.org/contents/current/features/push/push.html
204481 Foundation of
Computer Graphics March 7, 2013 30
31. Simulation
Graphical flight simulator
reduce training process
Robotic simulation
The Concorde Panel.
TV, Movie, advertising industries
generate photo realistic images
Virtual Reality (VR)
reduce risk of training
surgery
astronaut
204481 Foundation of http://www.motionshop.com/pr/festocosimirlg.shtml
Computer Graphics March 7, 2013 31
32. User Interfaces
Window system
Window 2003
X window
MAC OS
Graphical Network browsers
Netscape
Internet Explorer
204481 Foundation of
Computer Graphics March 7, 2013 32
33. Areas of research in Graphics (1/2)
mathematical modeling:
interpolation, curve and surface fitting
computational geometry: algorithmic
applications in geometry
study of light and optical phenomenon: colour,
texture, shades
modelling the characteristics of physical
objects (bouncing Jello)
204481 Foundation of
Computer Graphics March 7, 2013 33
34. Areas of research in Graphics (2/2)
Software technology
standardized graphics languages and libraries
graphics tools and interfaces
algorithm design
Hardware
specialized graphics chips, monitors, interface
devices
204481 Foundation of
Computer Graphics March 7, 2013 34
35. Graphics Applications
Entertainment: Cinema
Pixar: Geri’s Game
Universal: Jurassic Park
Antz
204481 Foundation of
A bug’s Life
Computer Graphics March 7, 2013 35
36. Graphics Applications (1/4)
Entertainment: Games
Aki Ross : Final Fantasy
Star Wars Jedi Outcast: Jedi Knight II
204481 Foundation of
Quake III
Computer Graphics March 7, 2013 36
37. Graphics Applications (2/4)
Medical Visualization
The Visible Human Project
204481 Foundation of
http://www.ercim.org/publication/Ercim_News/enw44/koenig.html
Computer Graphics March 7, 2013 37
38. Graphics Applications (3/4)
Computer Aided Design (CAD)
204481 Foundation of
Computer Graphics March 7, 2013 38
39. Graphics Applications (4/4)
Scientific Visualization
204481 Foundation of
Computer Graphics March 7, 2013 39
40. Hypermedia User Interfaces (1/2)
NCSA D2K:
http://chili.ncsa.uiuc.edu
Visual programming system for
high-performance knowledge
discovery in databases (KDD)
Hypermedia
Database format (similar to hypertext) that provides display-based
access to (internetworked) multimedia (text, image, audio, video,
etc.) documents
Chimera: http://www.ics.uci.edu/pub/chimera/
204481 Foundation of
Computer Graphics March 7, 2013 40
41. Hypermedia User Interfaces (2/2)
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:
http://www.isii.com
http://www.psl.cs.columbia.edu/chime/
204481 Foundation of
Computer Graphics March 7, 2013 41
42. Curve and Surface Modeling
1 http://www.geocities.com/SiliconValley/Lakes/2057/nurbs.html
2
3
4
5
8 7
6
204481 Foundation of
Computer Graphics March 7, 2013 42
43. Photorealistic Illumination Models
http://www.pixar.com
http://www.ktx.com/3dsmaxr3/ http://www.aliaswavefront.com
204481 Foundation of
Computer Graphics March 7, 2013 43
46. Interesting Industrial Applications
6500 news stories
from the WWW
in 1997
Cartia ThemeScapes – http://www.cartia.com
Hypermedia and Statistical Visualization
Destroyed
Normal
Extinguished
Ignited
Fire Alarm
Engulfed
Flooding
Virtual Environments for
204481 Foundation of
DC-ARM – http://www-kbs.ai.uiuc.edu Immersive Training
Computer Graphics March 7, 2013 46
47. Overview of Programmer’s Model (1/2)
Pixel - smallest addressable unit of display
Hardware (I/O)
output display device (normally raster scan)
on the order of a million pixels displayed
image stored in memory by pixel
(how much memory?)
video controller
scans the memory periodically (30-72 times a second)
produces video signal to drive a video monitor (or flat screen di
splay)
input devices - keyboard, mouse (track ball), tablet, voice etc.
204481 Foundation of
Computer Graphics March 7, 2013 47
48. Overview of Programmer’s Model (2/2)
Software
application data
application program
graphics interface
operating system
204481 Foundation of
Computer Graphics March 7, 2013 48
49. Graphical System And Standard
(1/5)
Graphical Systems
High level language interface to graphical
devices.
Intended for development of portable code.
Standard graphical systems include
CORE,
Graphical Kernel System (GKS), GKS+
Programmers Hierarchical Interactive Graphics
System (PHIGS), PHIGS+
OpenGL, DirectX, Quickdraw 3D, VRML,
Open Inventor, X-Windows.
204481 Foundation of
Computer Graphics March 7, 2013 49
50. Graphical System And Standard
(2/5)
Requirements of Graphical Systems
Portability
Device Independence
Concept of a logical device.
Language Independence
Language Bindings for graphical systems.
Computer Independence
Trade-off between standard hardware and high
performance hardware.
Programmer Independence
Flexibility - In conflict with portability.
204481 Foundation of
Computer Graphics March 7, 2013 50
51. Graphical System And Standard
(3/5)
Graphical Kernel System (GKS)
Workstation
GKS has concept of a workstation.
Device Normalisation
World Coordinates, Window in World Coordinates
Clipping to the window
Normalised Device Coordinates [0,1]x[0,1]
Normalisation Transformation
Viewports in normalised device coordinates
204481 Foundation of
Computer Graphics March 7, 2013 51
52. Graphical System And Standard
(4/5)
Output Functions
Line-Drawing Primitives
Area-filling primitives
Text Output
Input Functions
Logical input types : Locator, Valuator, Choice,
String, Pick, Stroke.
204481 Foundation of
Computer Graphics March 7, 2013 52
53. Graphical System And Standard
(5/5)
Input Modes
Request mode: waits for a request for an event.
Sample mode: continually samples value of input
device.
Event mode: unsolicited input stored on a stack,
made available for processing in FIFO order.
Mixed mode.
204481 Foundation of
Computer Graphics March 7, 2013 53
54. Professional Societies
ACM SIGGRAPH
- Association for Computing
Machinery Special Interest G
roup in Graphics
IEEE
- The Institute of Electrical and
Electronics Engineers,
Technical Committee on Co
mputer Graphics
204481 Foundation of
Computer Graphics March 7, 2013 54
55. Software Portability and graphics
standards
STANDARD
ORGANIZATION
ANSI = American National
Standard Institute (private,
non government)
ISO = International
Standards
Organization(voluntary,
non treaty)
ANSI is a member of ISO
204481 Foundation of
Computer Graphics March 7, 2013 55
56. History: graphics libraries
initially, low-level device-dependent
packages were the norm
movement towards high-level device-
independent packages, in order to promote
application program portability
requires standardization:
204481 Foundation of
Computer Graphics March 7, 2013 56
57. Official Standards
1977 and 1979 - 3D SIGGRAPH CORE (ACM
SIGGRAPH)
3D Core Graphics System ("Core") dev'd in late
70's as unofficial std
GKS (Graphical Kernel System, 1985): official 2D
standard built from Core
GKS-3D (1988): 3d objects ANSI X3.124-1985
PHIGS (Programmer's Hierarchical Interactive
Graphics System, 1988) 3D nested objects
PHIGS+ (1988): rendering enhancements
204481 Foundation of
Computer Graphics March 7, 2013 57
58. Emerging Standards in APIs
OpenGL (developed by Silicon Graphics)
open standard
available on all platforms
intended for professional-level graphics like
CAD
Direct3D
developed by Microsoft
Windows only
intended for games
204481 Foundation of
Computer Graphics March 7, 2013 58
59. Some Notable Systems
Tektronix commands in BASIC (mid-1970s)
HP commands (Hewlett Packard)
Microsoft BASIC (for PCs) graphics
commands (early 1980s)
QuickDraw (Apple Macintosh)
X (MIT)
OpenGL (Silicon Graphics)
SRGP (Simple Raster Graphics Package)
SPHIGS (Simple PHIGS)
MS Windows
Java AWT
204481 Foundation of
Computer Graphics March 7, 2013 59
60. Good graphics requires ? (1/3)
ability to control every dot (pixel) of display
ability to control primitive shapes on the
screen
models to deal with images as a whole
use of color, lighting, and shading
construction of "languages" or "packages"
to extend languages
knowledge of hardware
systems work
204481 Foundation of
Computer Graphics March 7, 2013 60
61. Good Graphics requires ? (2/3)
mathematical transformations and
representations
transmission of pictures and commands
to make pictures
ability to store lots of information
high performance computers
algorithms such as visible surface
algorithms
204481 Foundation of
Computer Graphics March 7, 2013 61
62. Good Graphics requires ? (3/3)
understanding and manipulation of
data structures
good software engineering principles
human factors engineering
some feeling for artistic principles
lots of effort - harder than it looks
204481 Foundation of
Computer Graphics March 7, 2013 62
63. Lecture Topics
Introduction Visible Surface
Mathematical Determination
Foundation Algorithm efficiency
Coordinate Systems Z-buffer algorithm
Introduction to Scan line algorithms
Graphics in 2D
Visible-surface Ray Tracing
Windows and Clipping
Introduction to
Other algorithms
Graphics in 3D Color Models
Viewing in 3D Illumination and Shading
204481 Foundation of
Computer Graphics March 7, 2013 63
64. Mathematical foundation
Mathematical appears throughout 3D graphics
Example:
Object surfaces can be represented as polygons
whose vertex position are specified by vectors
Rendering requires testing whether vertices lie in
front of or behind various planes.
The test involves a dot product with the plane’s
normal vector.
204481 Foundation of
Computer Graphics March 7, 2013 64
65. Geometric transformation
Goal: specify object’s position and
orientations in a 3D world
Use Linear transformations that rotate
and translate objects’ vertices.
Apply these transformations in matrix
form
204481 Foundation of
Computer Graphics March 7, 2013 65
66. Viewing
Goal: map the visible part of a 3D
world to a 2 D image
Use camera-like parameters to define
a 3D view volume
Project the view voulme onto a 2D
image plane
Map viewport on the image plane to
the screen
204481 Foundation of
Computer Graphics March 7, 2013 66
67. OpenGL
OpenGL is strictly defined as “a software
interface to graphics hardware”.
It is a 3D graphics and modeling library
variety purposes, CAD engineering,
architectural applications, computer-genera
ted dianosaurs in blockbuster movies
Developed by SGI
204481 Foundation of
Computer Graphics March 7, 2013 67
68. Clipping
Goal: cut off the part of objects outside
the view volume to avoid rendering
them
204481 Foundation of
Computer Graphics March 7, 2013 68
69. Scan Conversion
Goal: convert a project, clipped object
into pixels on raster lines.
Use efficient incremental methods
204481 Foundation of
Computer Graphics March 7, 2013 69
70. Antialiasing
Raster displays produce blocky
aliasing artifacts
Antialiasing techniques reduces the
problem by applying the theory of sam
pling and signal processing
204481 Foundation of
Computer Graphics March 7, 2013 70
71. Color
Various color spaces provide ways to
specify colors in term of components:
red, green, blue
hue, saturation, value
Different output devices display
different subsets of the perceptible col
ors
204481 Foundation of
Computer Graphics March 7, 2013 71
72. Hidden Surface Removal
When several overlapping polygons are
drawn on the screen, which one is on
top?
Which is
right?
204481 Foundation of
Computer Graphics March 7, 2013 72
73. Z-buffering
A fast hardware solution is This pixel is
drawn on
the Z-buffer
screen
The “depth” of each pixel
relative to the screen is Screen
calculated and saved in a Polygons
buffer
The pixel with the smallest
depth is the one that is
displayed
The other pixels are on Z
surfaces that are hidden
204481 Foundation of
Computer Graphics March 7, 2013 73
74. Lighting Models and Shading
For visual realism, lighting Ambient lighting:
models have been developed
to illuminate the surfaces of
solid models
These models incorporate
incident reflected light
ambient lighting and illumination light
diffuse reflection of directional
lighting
specular reflection of directional reflected light
incident
lighting light
204481 Foundation of
Computer Graphics March 7, 2013 74
75. Ray Tracing
Light Source
Shadow Ray
Eye
Object
Eye Ray
Shadow Ray
Object
Light Source
Ray tracing traces a ray
of light from the eye to a
light source
Ray tracing realistically
renders scenes with
shiny and transparent
204481 objects
Foundation of
Computer Graphics March 7, 2013 75
76. Radiosity
Diffuse illumination
results from the
absorption and reflection
of diffuse light from
many objects in the
scene
Radiosity uses thermal
models of emission and
reflection of radiation to Radiosity is very good at
accurately calculate rendering architectural
interiors
diffuse lighting
204481 Foundation of
Computer Graphics March 7, 2013 76
77. Texture Mapping
For realism, photographic textures are
“mapped” onto the surfaces of objects
Example textures: texture
mapping
woodgrain
concrete
grass reflections
marble shadows
Texture mapping is very computationally
intensive
204481 Foundation of
Computer Graphics March 7, 2013 77
78. Example of Shading
Wireframe Flat Shaded
Smooth Shaded Shadows
204481 Foundation of
Computer Graphics March 7, 2013 78
Notes de l'éditeur
Many hidden surface removal algorithms have been developed