UPI YPTK - Padang
Introduction to Computer
Graphics
Eko Syamsuddin Hasrito, PhD
204481 Computer Graphics
September 13, 2016
Lecture Outline
Course Information: Format, Resources
Overview
Topics covered
What is computer graphics?
Applications
204481 Foundation of Computer Graphics
September 13, 2016
Resources
204481 Foundation of Computer Graphics
September 13, 2016
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
September 13, 2016
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
September 13, 2016
Relevant Disciplines
Rendering Hardware
VR Systems
Portable/Embedded CG
Analytic Geometry
Art and Graphic Design
Color/Optical Models
Cognitive Science
CG/Vision Duality
Interface Design
Computer Engineering
Engineering Design
Layout
CG Design
Education
Visualization
Film
Parametric Equations
Conics
Human Factors
Polygon Rendering
Linear Algebra
Numerical Analysis
CAD
CAE / CASE
CAM
Immersive Training
Tutoring Interfaces
Computer
Graphics
(CG)
Surface Modeling
Physically-Based Modeling
Stat/Info Visualization
Transformations
Change of Coordinate Systems
204481 Foundation of Computer Graphics
User Modeling
Ergonomic Interfaces, I/O
September 13, 2016
Animation
Large-Scale CG
What is Computer Graphics?
204481 Foundation of Computer Graphics
September 13, 2016
This is not Computer Graphics
[ 29:akin@[Link] ] Re: Future development of
PEX/PHIGS]
[ 9:bthompso@reed] What is a good book for
Digital Image Processing]
[ 15:csp48@[Link]] Help! ASCII picture needed
[ 14:rcj2@cbnewsd.] Re: 3D igitizers again
[240:raj@[Link]] Call For Papers -- ACM
Multimedia '93
204481 Foundation of Computer Graphics
September 13, 2016
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
September 13, 2016
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
September 13, 2016
10
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
September 13, 2016
11
Image Analysis
Image Analysis (Computer Vision)
extracting symbolic information from the
image.
Computer Graphics
Image Processing
Image Analysis
Data
=> Picture
Picture => Picture
Picture => Data
204481 Foundation of Computer Graphics
September 13, 2016
12
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
September 13, 2016
13
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
September 13, 2016
14
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
September 13, 2016
15
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
September 13, 2016
16
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 priceperformance-ratio of hardware
Growth and interest of graphics industries (e.g.,
information visualization, entertainment CAD)
204481 Foundation of Computer Graphics
September 13, 2016
17
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
September 13, 2016
18
Image Synthesis Pipeline
Graphics
Database
Editing
Front-End
(Geometry Processing)
Graphics
Database
Back-End
(Rasterization)
Display
Traversal
Modeling
Transformation
Viewing
Operation
Visible-Surface
Determination
Scan Conversion
Shading /
Illumination
204481 Foundation of Computer Graphics
September 13, 2016
Image
19
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
primitive
204481 Foundation of Computer Graphics
September 13, 2016
20
History of Computer Graphics
(1/5)
1950 MITs Whirlwind
computer had computer
generated CRTs mid 19
50s SAGE command an
d control
1960s Ivan Sutherlands
thesis - Sketchpad
introduced data
structures and interactive
techniques
[Link]
204481 Foundation of Computer Graphics
September 13, 2016
21
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
September 13, 2016
22
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
September 13, 2016
23
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
September 13, 2016
24
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
September 13, 2016
25
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:
204481 Foundation of Computer Graphics
Sketchpad in 1963. Note the
use of a CRT monitor, light pen
and function-key panel.
September 13, 2016
26
Some of Historical Picture (2/2)
[Link]
John VonNeuman
[Link]
204481 Foundation of Computer Graphics
September 13, 2016
Mark I
27
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
September 13, 2016
28
Display of Information
Geographic
information system
(GIS)
Computerized
Tomography (CT)
Magnetic resonance
imaging (MRI)
Ultrasound
positron-emission
tomography (PET)
[Link]
[Link]
204481 Foundation of Computer Graphics
September 13, 2016
29
Design
Computer-Aided Design (CAD)
Architecture
Design of Mechanical part
VLSI
etc...
[Link]
204481 Foundation of Computer Graphics
September 13, 2016
30
Simulation
Graphical flight simulator
Robotic simulation
TV, Movie, advertising industries
reduce training process
The Concorde Panel.
generate photo realistic images
Virtual Reality (VR)
reduce risk of training
surgery
astronaut
[Link]
204481 Foundation of Computer Graphics
September 13, 2016
31
User Interfaces
Window system
Window 2003
X window
MAC OS
Graphical Network browsers
Netscape
Internet Explorer
204481 Foundation of Computer Graphics
September 13, 2016
32
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
September 13, 2016
33
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
September 13, 2016
34
Graphics Applications
Entertainment: Cinema
Pixar: Geris Game
Universal: Jurassic Park
Antz
204481 Foundation of Computer Graphics
A bugs Life
September 13, 2016
35
Graphics Applications (1/4)
Entertainment: Games
Aki Ross : Final Fantasy
Star Wars Jedi Outcast: Jedi Knight II
204481 Foundation of Computer Graphics
Quake III
September 13, 2016
36
Graphics Applications (2/4)
Medical Visualization
204481 Foundation of Computer Graphics
September 13, 2016
The Visible Human Project
[Link]
37
Graphics Applications (3/4)
Computer Aided Design (CAD)
204481 Foundation of Computer Graphics
September 13, 2016
38
Graphics Applications (4/4)
Scientific Visualization
204481 Foundation of Computer Graphics
September 13, 2016
39
Hypermedia User Interfaces
(1/2)
NCSA D2K:
[Link]
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: [Link]
204481 Foundation of Computer Graphics
September 13, 2016
40
Hypermedia User Interfaces
(2/2)
Virtual Environments
Immersion: interactive
training, tutoring systems
Entertainment hypermedia
Visualization and ComputerAided Design and Engineering
(CAD/CAE)
Visualization: scientific,
data/information, statistics
User interfaces for
CAD/CAE/CAM/CASE:
[Link]
[Link]
204481 Foundation of Computer Graphics
September 13, 2016
41
Curve and Surface Modeling
1
[Link]
3
4
204481 Foundation of Computer Graphics
September 13, 2016
42
Photorealistic Illumination
Models
[Link]
[Link]
204481 Foundation of Computer Graphics
[Link]
September 13, 2016
43
Fractal Systems
[Link]
204481 Foundation of Computer Graphics
September 13, 2016
44
Information Visualization
Visible Decisions SeeIT
204481 Foundation of Computer Graphics
([Link]
September 13, 2016
45
Interesting Industrial
Applications
6500 news stories
from the WWW
in 1997
Cartia ThemeScapes [Link]
Hypermedia and Statistical Visualization
Normal
Ignited
Engulfed
Destroyed
Extinguished
Fire Alarm
Flooding
DC-ARM [Link]
204481 Foundation of Computer Graphics
Virtual Environments for
Immersive Training
September 13, 2016
46
Overview of Programmers 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
September 13, 2016
47
Overview of Programmers Model
(2/2)
Software
application data
application program
graphics interface
operating system
204481 Foundation of Computer Graphics
September 13, 2016
48
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
September 13, 2016
49
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
September 13, 2016
50
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
September 13, 2016
51
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
September 13, 2016
52
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
September 13, 2016
53
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 Com
puter Graphics
204481 Foundation of Computer Graphics
September 13, 2016
54
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
September 13, 2016
55
History: graphics libraries
initially, low-level device-dependent
packages were the norm
movement towards high-level deviceindependent packages, in order to promote
application program portability
requires standardization:
204481 Foundation of Computer Graphics
September 13, 2016
56
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
September 13, 2016
57
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
September 13, 2016
58
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
September 13, 2016
59
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
September 13, 2016
60
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
September 13, 2016
61
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
September 13, 2016
62
Lecture Topics
Introduction
Mathematical
Foundation
Coordinate Systems
Introduction to
Graphics in 2D
Windows and Clipping
Introduction to
Graphics in 3D
Viewing in 3D
204481 Foundation of Computer Graphics
Visible Surface
Determination
Algorithm efficiency
Z-buffer algorithm
Scan line algorithms
Visible-surface Ray Tracing
Other algorithms
Color Models
Illumination and Shading
September 13, 2016
63
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 planes
normal vector.
204481 Foundation of Computer Graphics
September 13, 2016
64
Geometric transformation
Goal: specify objects 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
September 13, 2016
65
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
September 13, 2016
66
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
September 13, 2016
67
Clipping
Goal: cut off the part of objects outside
the view volume to avoid rendering
them
204481 Foundation of Computer Graphics
September 13, 2016
68
Scan Conversion
Goal: convert a project, clipped object
into pixels on raster lines.
Use efficient incremental methods
204481 Foundation of Computer Graphics
September 13, 2016
69
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
September 13, 2016
70
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
September 13, 2016
71
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
September 13, 2016
72
Z-buffering
A fast hardware solution is
the Z-buffer
The depth of each pixel
relative to the screen is
calculated and saved in a
buffer
The pixel with the smallest
depth is the one that is
displayed
The other pixels are on
surfaces that are hidden
204481 Foundation of Computer Graphics
This pixel is
drawn on
screen
September 13, 2016
Screen
Polygons
73
Lighting Models and Shading
For visual realism, lighting
models have been developed to
illuminate the surfaces of solid
models
These models incorporate
Ambient lighting:
ambient lighting and illumination
diffuse reflection of directional
lighting
specular reflection of directional
lighting
204481 Foundation of Computer Graphics
September 13, 2016
incident
light
reflected light
incident
light
reflected light
74
Ray Tracing
Light Source
Shadow Ray
Eye
Eye Ray
Object
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 objects
204481 Foundation of Computer Graphics
September 13, 2016
75
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
accurately calculate
diffuse lighting
204481 Foundation of Computer Graphics
Radiosity is very good at
rendering architectural
interiors
September 13, 2016
76
Texture Mapping
For realism, photographic textures are
mapped onto the surfaces of objects
Example textures:
woodgrain
concrete
grass
marble
texture
mapping
reflections
shadows
Texture mapping is very computationally
intensive
204481 Foundation of Computer Graphics
September 13, 2016
77
Example of Shading
Wireframe
Smooth Shaded
204481 Foundation of Computer Graphics
Flat Shaded
Shadows
September 13, 2016
78
Course Source :
Instructor: Pradondet Nilagupta
E-mail: pom@[Link]
Phone: 9428555 ext. 1415 (office)
Office hours: after class; 1-2pm Monday or by
appointment
Web Page
Course Homepage:
[Link]
[Link]
Course Syllabus:
[Link]
[Link]
204481 Foundation of Computer Graphics
September 13, 2016
79