Lecturer : Habtamu Abate
Ethiopia, Wollo University ,
Kombolcha Institute of Technology,
College of Informatics .
Email:
[email protected] Computer Graphics (CoSc3121)
Lecture 1:
Introduction to Interactive Computer
Graphics
1
Outline
Definition of Computer Graphics
Brief History of Computer Graphics
3D Graphics Techniques and Terminology
Common Uses of Computer Graphics
Application Areas of Computer Graphics
Chapter 1 Introduction to Computer Graphics 2
Objectives
Course Objective 1:
Have a knowledge and understanding of the
structure of an interactive computer graphics
system, and the separation of system
components.
In this lecture, we explore what
computer graphics is about and survey
some application areas
We start with a historical introduction
Chapter 1 Introduction to Computer Graphics 3
What is computer graphics (CG) ?
Creation, Manipulation, and Storage of
geometric objects (modelling) and their images
(rendering).
Computer graphics deals with all aspects of
creating images with a computer.
Computer graphics : Using computers to
create and manipulate images.
It is the use of computers to create and
manipulate pictures on a display device.
It comprises of software techniques to create,
store, modify, represents pictures.
Chapter 1 Introduction to Computer Graphics 4
Computer Graphics
Computer Graphics
Interactive Non-interactive or Passive
In Interactive Computer Graphics
The User Does Not Have
User Have Some Controls Over The
Picture.
Any Controlled Over The
The User Can Make Any Change In The Image
Produced Image. Involves Only One-way
Require Two-way Communication Communication Between
Between The Computer And The User. The Computer And The
A User Can See The Image And Make User
Any Change By Sending His/Her One Example Of Its
Command With An Input Device.
One Example Of It Is The Ping-pong Game. Titles Shown On T.V.
Chapter 1 Introduction to Computer Graphics 5
Interactive Computer
Graphics
Advantages:
• Higher Quality
• More precise results or products
• Greater Productivity
• Lower analysis and design cost
• Significantly enhances our ability to
understand data and to perceive trends.
Chapter 1 Introduction to Computer Graphics 6
Computer Graphics: 1950-1960
Computer graphics goes back to the
earliest days of computing
Strip charts
Pen plotters
Simple displays using A/D converters to go
from computer to calligraphic CRT
Cost of refresh for CRT too high
Computers slow, expensive, unreliable
Chapter 1 Introduction to Computer Graphics 7
Computer Graphics: 1960-1970
• Wireframe graphics
Draw only lines
• Sketchpad
• Display Processors
• Storage tube
wireframe representation
of sun object
Chapter 1 Introduction to Computer Graphics 8
Computer Graphics: 1970-1980
• Raster Graphics
• Beginning of graphics standards
IFIPS
• GKS: European effort
– Becomes ISO 2D standard
• Core: North American effort
– 3D but fails to become ISO standard
• Workstations and PCs
Chapter 1 Introduction to Computer Graphics 9
Computer Graphics: 1980-1990
• Special purpose hardware
Silicon Graphics geometry engine
• VLSI implementation of graphics pipeline
• Industry-based standards
PHIGS
RenderMan
• Networked graphics: X Window System
• Human-Computer Interface (HCI)
Note: Realism comes to computer graphics
Chapter 1 Introduction to Computer Graphics 1
0
Computer Graphics: 1990-2000
OpenGL API
Completely computer-generated feature-
length movies (Toy Story) are successful
New hardware capabilities
Texture mapping
Blending
Accumulation, stencil buffers
Chapter 1 Introduction to Computer Graphics 1
1
Computer Graphics: 2000-2010
Photorealism
Graphics cards (GPU) for PCs dominate
market
Nvidia
Game boxes and game players determine
direction of market (Wii, Kinect, etc)
Computer graphics routine in movie
industry: Maya, Lightwave
Programmable pipelines
Chapter 1 Introduction to Computer Graphics 1
2
Computer Graphics: 2010-
Mobile Computing
iPhone
Cloud Computing
Amazon Web Services (AWS)
Virtual Reality
Oculus Rift
Artificial Intelligence
Big Data/Deep Learning
Google Car
Chapter 1 Introduction to Computer Graphics 1
3
Bit of History
• 1970's & 80's - dawn of computer graphics. Many
fundamental algorithms/concpts invented, but
programming was difficult. (Standards were very
basic, and hardware was slow.)
• 1992 - OpenGL 1.0 API released (GL = graphics library).
'Fixed function pipeline'.
• 1990's - NVidia, ATI, Intel emerge as GPU leaders.
GPU programming remained difficult (assembly
language).
• 2004 - OpenGL 2.0 released. Included GLSL - high
level C-like "shading language" for GPU
programming.
• 2011 - WebGL released (graphics for web browsers) 1
Chapter 1 Introduction to Computer Graphics 4
3D Graphics Techniques and
15
Terminology
• Look at the following areas
Rendering
Rasterization
Transformations and Projections
Shading
Texture Mapping
Blending
Chapter 1 Introduction to Computer Graphics
Rendering
The process by which mathematical and
image data is transformed into a 3D
dimensional image is called rendering.
When used as a verb, it is the process
that your computer goes through to create
the three dimensional (3D) image.
Rendering is also used as a noun, simply to
refer to the final image produced.
Chapter 1 Introduction to Computer Graphics 1
6
Rasterization
The actual drawing, or filling in of the pixels between
each vertex to make the lines is called rasterization.
Determine which pixels should be filled
Early games and simulation technology would make
adjoining polygons different solid colors, which would
help, but fell short of a convincing simulation of reality.
We can further clarify our 3D intent with transformed
and rasterized lines by employing hidden surface removal.
Hidden Surface Removal
Determine which object is in front at each pixel
Chapter 1 Introduction to Computer Graphics 1
7
Rasterization
A fundamental computer graphics function
Determine the pixels’ colors, illuminations,
textures, etc.
Drawing lines on the screen
Implemented by graphics hardware
Rasterization algorithms
Lines
Circles
Triangles
Polygons
Chapter 1 Introduction to Computer Graphics 18
Transformations and
Projections
By transforming, or moving the points around, and
drawing lines between them we can produce the illusion
of a 3D world on a flat 2D screen.
The points themselves are called vertices (or vertex
in the singular), and they are moved around in space
with a convenient mathematical construct called a
transformation matrix.
FIGURE 1.1 A simple wireframe
cube and table.
Chapter 1 Introduction to Computer Graphics 1
9
Projections
Another matrix, a projection matrix takes
care of the mathematics necessary to turn
our 3D coordinates into two-dimensional
screen coordinates, where the final line
drawing actually takes place.
Chapter 1 Introduction to Computer Graphics 2
0
Shading
By varying the color values across the
surface (between vertices), we can easily
create the effect of a light shining on
object.
Determine what color it is
Lighting, Shading
Chapter 1 Introduction to Computer Graphics 2
1
Texture Mapping
The next hardware advance was texture mapping.
A texture is simply a picture that we map to the
surface of an object such as triangle or polygon.
Textures are fast and efficient on modern
hardware, and a single texture can reproduce a
surface that might take thousands or even millions
of geometric objects to represent otherwise.
Chapter 1 Introduction to Computer Graphics 2
2
Blending
Blending allows us to mix different colors together.
This reflection effect is done simply by drawing the
cube upside down first.
Then we draw the floor blended over the top of it,
followed by the right side up cube.
You really are seeing “through” the floor to the
inverted cube below. Your brain just says, “Oh… a
reflection.”
Blending is also how we make things look transparent.
Chapter 1 Introduction to Computer Graphics 2
3
3D Graphics Techniques and
Terminology
Rasterization
Shading
Texture Mapping Blending
Chapter 1 Introduction to Computer Graphics 2
4
Common Uses for 3D
Graphics
• Three-dimensional graphics have many uses
in modern computer applications.
• Applications for real-time 3D graphics range
from interactive games and simulations to
data visualization for scientific, medical, or
business uses.
• Higher-end 3D graphics find their way into
movies and technical and educational
publications as well
Chapter 1 Introduction to Computer Graphics 2
5
Common Uses for 3D Graphics
• Movie Industry
Leaders in quality and artistry
Not slaves to conceptual purity
Big budgets and tight schedules
Reminder that there is more to
CG than technology
Hey, How'd they do that?
Defines our expectations
Slide
Chapter 1 Introduction to information
Computer Graphics from Leonard 2
6
McMillian's slides
Common Uses for 3D Graphics
• Game Industry
The newest driving force in CG
• Why? Volume and Profit
• This is why we have commodity GPUs
Focus on interactivity
Cost effective solutions
Avoiding computating and other tricks
Games drive the baseline
Slide Graphics
Chapter 1 Introduction to Computer information from Leonard 2
7
McMillian's slides
Common Uses for 3D Graphics
• Medical Imaging and Scientific Visualization
Tools for teaching and diagnosis
• No cheating or tricks allowed
New data representations and modalities
Drive issues of precision and correctness
Focus on presentation and interpretation of data
Construction of models from acquired data
Nanomanipulator, UNC
Chapter 1 Introduction to Computer Graphics 2
8
Joe Kniss, Utah Gordon Kindelman, Utah
Common Uses for 3D Graphics
Modelling
• Computer Aided Design
Mechanical, Electronic, Architecture,...
Drives the high end of the hardware market
Integration of computing and display resources
Reduced design cyles == faster systems,
sooner
Chapter 1 Introduction to Computer Graphics 2
9
Common Uses for 3D Graphics
Graphic User Interfaces (GUI)
• Graphic User Interfaces (GUI)
architectural drawings, e.g. plan of a building
maps: geographical information
plotting statistical graphs, e.g. share prices
medical images: Computed Tomography
(CT), Magnetic Resonance Imaging (MRI) •
scientific visualization
Chapter 1 Introduction to Computer Graphics 3
0
Applications of Computer
Graphics
Entertainment
Games, Movies, Advertising, VR (Oculus Rift)
Photo and video editing
Design
cars, furniture, machine parts, architecture,
3D printing
Simulation
training in virtual environments (VR)
Visualization
Chapter 1 Introduction to Computer Graphics 3
1
Applications Areas of
Computer Graphics
Education and Training
Use in Biology
Computer-Generated Maps
Architect
Presentation Graphics
Computer Art
Entertainment
Visualization
Educational Software
Printing Technology
Etc…
Chapter 1 Introduction to Computer Graphics 3
2
Next Lecture ??
Computer Graphics Hardware
Chapter 1 Introduction to Computer Graphics 3
3