10 1 introduction (1)
TRANSCRIPT
-
8/8/2019 10 1 Introduction (1)
1/61
Computer Graphics:
Course Intro.,
History, ContextAngel, Chapter 1
CSCI 6360/4360
-
8/8/2019 10 1 Introduction (1)
2/61
-
8/8/2019 10 1 Introduction (1)
3/61
Computer Graphics, Fall 2010
Angel, page 1:
Perhaps the dominant characteristic
of this new millennium is howcomputer and communication
technologies have become
dominant forces in our lives.
Not a bad place to be sometimes we forget
-
8/8/2019 10 1 Introduction (1)
4/61
Computer Graphics, Fall 2010
Angel, page 1:
Perhaps the dominant characteristic of this new
millennium is how computer and communication
technologies have become dominant forces in our
lives.
Computer graphics is concerned with all aspects of
producing pictures or images using a computer.
allaspects
Hardware
Software
Applications
-
8/8/2019 10 1 Introduction (1)
5/61
Applications: Movies
-
8/8/2019 10 1 Introduction (1)
6/61
Applications: Games
-
8/8/2019 10 1 Introduction (1)
7/61
Applications: Visualization
-
8/8/2019 10 1 Introduction (1)
8/61
Apps: Computer Aided Design
-
8/8/2019 10 1 Introduction (1)
9/61
App: Virtual and Augmented Reality
-
8/8/2019 10 1 Introduction (1)
10/61
-
8/8/2019 10 1 Introduction (1)
11/61
Apps: New Information Spaces
-
8/8/2019 10 1 Introduction (1)
12/61
Applications: Art
-
8/8/2019 10 1 Introduction (1)
13/61
Elements of
ComputerGraphics
UTPA:Computer Graphics
Visualization
Interactive Systems
Human Computer Interaction
Programming systems
-windows
-graphics
Hardware and
graphics engines
3-D
ViewingTransformation
Representation of
curves and surfaces
Models,
(Foley et al. term)
Drawing
Algorithms
Lights
Rendering
User, i.e., Human
Interaction Perception Information
An illusion:
analog world
represented
digitally
Programming is a craft
Open
System
DisplayClosedSystem
-
8/8/2019 10 1 Introduction (1)
14/61
Computer Graphics
Angel, p. 1 Computer graphics is concerned with all aspects of producing
pictures or images using a computer.
Allaspects
Hardware Software
Applications
Foley et al., creation, storage and manipulation ofmodels and images
Models come from a diverse and expanding set of fieldsincluding physical, mathematical, artistic, biological, andconceptual (abstract) structures.
Historically, there was a hard line, not so much anymore
-
8/8/2019 10 1 Introduction (1)
15/61
Origins
William Fetter coined term computer graphics New design methods pursuing at Boeing, early 1960s, graphic designer
Created a series of widely reproduced images on a plotter exploring cockpitdesign using a 3D model of a human body
Boeing man
-
8/8/2019 10 1 Introduction (1)
16/61
Origins
William Fetter coined term computer graphics New design methods pursuing at Boeing, early 1960s, graphic designer
Created a series of widely reproduced images on a plotter exploring cockpitdesign using a 3D model of a human body
Boeing man
Perhaps the best way to define
computer graphics is to find outwhat it is not. It is not a machine. Itis not a computer, nor a group ofcomputer programs. It is not theknow-how of a graphic designer, aprogrammer, a writer, a motionpicture specialist, or areproduction specialist.
Computer graphics is all these --a consciously managed anddocumented technology directedtoward communicating informationaccurately and descriptively.
Computer Graphics, William A.
Fetter, 1966
-
8/8/2019 10 1 Introduction (1)
17/61
Even More Fundamentally
Computing is about insight, notnumbers
and a lot of people got it, rightaway
Hamming, R.W., Numerical Methods
for Scientists and Engineers, 1962
Goals of insight:
Discovery
Decision making
Explanation
And, heck, computer graphics arefun
1962, PDP-1, Spacewar
-
8/8/2019 10 1 Introduction (1)
18/61
Computer Graphics, Angel Ex.
Where did this imagecome from?
What hardware/softwareto produce it?
Application: The object is an artists
rendition of the sun for ananimation to be shown in adomed environment
(planetarium)
Software: Maya for modeling and
rendering but Maya is built ontop ofOpenGL
Hardware: PC with graphics card for
modeling and rendering
-
8/8/2019 10 1 Introduction (1)
19/61
Interactive Computer Graphics
Interactive computer graphics Where computation, human, and machine come together
User controls contents, structure, and appearance of objects and their displayedimages via rapid visual feedback
Graphics is/are pervasive:
Text (character) mode vs. graphics mode (ever heard of something called DOS, or Unix command line?)
Dominant display and interaction paradigm for interaction
Direct manipulation interfaces require graphics
The two contrasts of a) text with graphics and b) batch with
interactive describe the context of interactive computer graphics Sutherlands landmark work described the ideas
-
8/8/2019 10 1 Introduction (1)
20/61
Interactive Computer Graphics
Input devices
Output devices
Image formed in FB
Basic components of an interactive graphics system: Input (e.g., mouse, tablet and stylus, force feedback device, scanner...)
Processing (and storage)
Frame buffer (raster) more next time
Display/output (e.g., screen, paperbased printer, video recorder...)
-
8/8/2019 10 1 Introduction (1)
21/61
Raster Architecture (next time)
Early systems Used part of system memory (system
address space) for frame buffer
Single CPU set frame buffer and performedgraphics system commands
Current systems Separate processor gets cmds from CPU
Graphics Processing Unit (GPU) In hardware (firmware):
Scan conversion
Texturing
Dedicated texture memory Lighting calculations
3D transformation calculations
GPU more power than CPU Interesting implications!
-
8/8/2019 10 1 Introduction (1)
22/61
Cg Software Architecture, APIs
Graphics APIOpenGl (no win sys func)DirectX
Window system APIMS windowsX tools
CPUGPU
Graphics Processing Unit
-
8/8/2019 10 1 Introduction (1)
23/61
Software Arch., Window System
Application ProgsE.g., student programsMS Excel, etc.
Tools: UI Program.MFC, Swing,Qt (widget toolkit and more)
Graphics APIOpenGl (no win sys func)DirectX
Window system APIMS windowsX tools
CPUGPU
Graphics Processing Unit
-
8/8/2019 10 1 Introduction (1)
24/61
Software Arch., Graphics
Application ProgsE.g., student programsMS Excel, etc.
Graphics APIOpenGl (no win sys func)DirectX
GLUTOpenGL Utility Toolkit
Window system APIMS windowsX tools
CPUGPU
Graphics Processing Unit
Tools: Vis. Program.VTKs3s
-
8/8/2019 10 1 Introduction (1)
25/61
Software Architecture, All
Application ProgsE.g., student programsMS Excel, etc.
Tools: GraphicMaya3ds
Tools: UI Program.MFC, Swing,Qt (widget toolkit and more)
Graphics APIOpenGl (no win sys func)DirectX
GLUTOpenGL Utility Toolkit
Window system APIMS windowsX tools
CPUGPU
Graphics Processing Unit
Tools: Vis. Program.VTKs3s
-
8/8/2019 10 1 Introduction (1)
26/61
Software Architecture (save)
Application ProgsE.g., student programsMS Excel, etc.
Tools: GraphicMaya3ds
Tools: UI Program.MFC, Swing,Qt (widget toolkit and more)
Graphics APIOpenGl (no win sys func)DirectX
GLUTOpenGL Utility Toolkit
Window system APIMS windowsX tools
CPUGPU
Graphics Processing Unit
Tools: Vis. Program.VTKs3s
-
8/8/2019 10 1 Introduction (1)
27/61
Context of Computer Graphics
Graphics is key enabling technology in evolution of computingenvironments: Graphical user interfaces
Visual computing,
e.g., desktop publishing, scientific visualization, information visualization
Hardware revolution drives everything ~ every 18 months, computer power improves by factor of 2 in price/performance
Moore's Law
and exponential growth generally things are different
Graphics memory and network speeds are on even faster
exponentials graphics chips in particular have major improvements every six to nine months
e.g. Sony Playstation 2, Nintendo GameCube, Xbox, nVidia GeForce 3
-
8/8/2019 10 1 Introduction (1)
28/61
-
8/8/2019 10 1 Introduction (1)
29/61
On Exponential Growth
Some technology is exponential in advancement
Other things are not
E.g., software and
-
8/8/2019 10 1 Introduction (1)
30/61
Taking Advantage ofExp. Growth
-
8/8/2019 10 1 Introduction (1)
31/61
Taking Advantage ofExp. Growth?
-
8/8/2019 10 1 Introduction (1)
32/61
Moores Law Dead?
?
-
8/8/2019 10 1 Introduction (1)
33/61
Parallelism and Moores Law
Moores law is alive and well for graphics
Because lends itself to parallelization
Pipeline architecture works well with current approach to cg
~ Now, gpu processing power > cpu processing power in
commodity pcs!
How to use parallel, here, gpu, architectures is not a new question
Cf. Nvidia gpu programming language
-
8/8/2019 10 1 Introduction (1)
34/61
CSCI 4360 and 6360, Fall 2010
Syllabus, . about the course Student background
Impacts programming assignments, pace, presentations,
-
8/8/2019 10 1 Introduction (1)
35/61
Course - Schedule of Topics
Graphics systems and models Thinking and speaking optically and computer-graphically
Graphics programming today, OpenGL programming first! Input and interaction, and other things throughout
Geometric objects and transformations Nuts, bolts and coordinate systems or numbers, pixels, and math
Viewing Pixels and looking at things
Lighting and shading Illumination models good (and fast) enough
From vertices to fragments Getting lines and points on the screen and just the right ones
Discrete techniques Buffers, bits, and textures
Project demonstrations
-
8/8/2019 10 1 Introduction (1)
36/61
Computer Graphics History
Computer graphics all aspects
Hardware, software, applications
Hardware
Graphics processing
SAS and processor, separate processing in workstation, separate processor in commodity, GPU > CPU
Display Paper & oscilloscope, vector based, raster based, lcd/led commodity 3d
Software
Graphics package, graphics api Custom, 80s and 90s starts, standardization ofOpenGL
Applications
Use of graphics in application, e.g., Autocad
Use for graphics creation, e.g., Maya
-
8/8/2019 10 1 Introduction (1)
37/61
Origins: Sutherlands Sketchpad, 1/2
First truly interactivegraphics system, Sketchpad A fairly sophisticated paint (or
drawing) program
MIT, Ivan Sutherlands 1963
Ph.D. thesis Sketchpad, A Man-Machine
Graphical CommunicationSystem
Available:
www.cl.cam.ac.uk/techreports/UCAM-CL-TR-574.pdf
Video:
www.youtube.com/watch?v=mOZqRJzE8xg
Among most importantworks in computer science
Ivan Sutherland using Sketchpadin 1963CRT monitor, light pen and function-key panel
-
8/8/2019 10 1 Introduction (1)
38/61
Origins: Sutherlands Sketchpad, 2/2
Almost all the keyelements of an interactivegraphics system areexpressed in the first
paragraph of Sutherland'sthesis!: The Sketchpad system uses drawing
as a novel communication medium fora computer. The system contains input,output, and computation programswhich enable it to interpret informationdrawn directly on a computer display.Sketchpad has shown the mostusefulness as an aid to theunderstanding of processes, such asthe motion of linkages, which can bedescribed with pictures. Sketchpadalso makes it easy to draw highlyrepetitive or highly accurate drawingsand to change drawings previously
drawn with it... (Sutherland, 1963)
-
8/8/2019 10 1 Introduction (1)
39/61
-
8/8/2019 10 1 Introduction (1)
40/61
Computer Graphics: 1950-1960
Character Displays (1960s - now) Display: text plus alphamosaic pseudo graphics
Object and command specification: command line typing
Control over appearance:
coding for text formatting, e.g., .p =paragraph, .i 5 =indent 5
Application control: single task
Vector Displays (1963 - 1980s) Display: line drawings and stroke text; 2D and 3D transformation hardware
Object and command specification: command line typing, function keys, menus
Control over appearance: pseudo WYSIWYG
Application control: single or multitasked, host satellite distributed computing
-
8/8/2019 10 1 Introduction (1)
41/61
Computer Graphics: 1960-1970
Wireframe graphics Draw only lines
Sketchpad
Display Processors
Storage tube
DE
C PDP-1, below Early CRT displays based on
oscilloscopes
Primitive (custom) software
But, beginning of advances in cg
algorithms
Interactive cg possible at high end
-
8/8/2019 10 1 Introduction (1)
42/61
FYI - Display Processor
Really old school technology, but some terminology remains, e.g.,display list
Rather than have the host computer try to refresh display, use a
special purpose computer called a display processor(DPU)
Graphics stored in display list (display file) on display processor
Host compiles display list and sends to DPU
-
8/8/2019 10 1 Introduction (1)
43/61
Direct View Storage Tube
First real cg capable display Created by Tektronix
Did not require constant refresh
Standard interface to computers Allowed for standard software
Plot3D in Fortran
Relatively inexpensive
Opened door to use of computergraphics for CAD community
-
8/8/2019 10 1 Introduction (1)
44/61
Computer Graphics: 1970-1980
Raster graphics todays display paradigm Map pixel to memory location (vs. vector display list)
bitmap really bytemap or wordmap or
Memory cost allowed
Back then, 64k words total, not uncommon
Beginning of graphics standards IFIPS
GKS: European effort
Becomes ISO 2D standard
Core: North American effort
3D but fails to become ISO standard
It was a real mess at least compared to now
(Scientific) Workstations and PCs Strong, clear distinctions, that have at least blurred now
-
8/8/2019 10 1 Introduction (1)
45/61
Raster Graphics, 1970-1980
Image produced as an array (the raster) of picture elements (pixels)in the frame buffer Map pixel to memory location (vs. vector display list)
Can now go from lines and wire frame images to filled polygons
Many fundamental algorithms developed E.g., Phong shading
-
8/8/2019 10 1 Introduction (1)
46/61
PCs and Workstations
Although we no longer make a (clear) distinction betweenworkstations and PCs, historically they evolved from different roots
Early workstations characterized by Networked connection: client-server model
High-level of interactivity
Early PCs included frame buffer as part of user memory
Easy to change contents and create images
And, for speed, often programmed directly into frame buffer fromapplication
Vs. using a software layer, such asOGL
-
8/8/2019 10 1 Introduction (1)
47/61
Computer Graphics: 1970-1980
2D bitmap raster displays for PCs and workstations (1972 XeroxPARC - now) Display: windows, icons, legible text and ``flat earth'' graphics.
late 60's saw first use of raster graphics, especially for flight simulators.
Object and command specification: minimal typing via WIMP (Windows, Icons, Menus, Pointer)
GUI (Graphical User Interface): point and click selection of menu items and objects, widgets and direct manipulation
(e.g., drag and drop), the messy desktop metaphor
Control over appearance: WYSIWYG (which is really WYSIAYG, What You See Is All You Get)
Application control: multitasking, networked clientserver computation and window management
(even X terminals)
-
8/8/2019 10 1 Introduction (1)
48/61
Computer Graphics: 1980-1990
Photorealism feasible E.g., ray tracing and other computationally expensive techniques
smooth shading environment mapping bump mapping
-
8/8/2019 10 1 Introduction (1)
49/61
Ray Tracing
Consider how light from a source might be modeled Follow every ray from the source, to the objects, and see what goes to viewer
Somewhat more computationally feasible (though still expensive) is
to run things backward from cop to objects to illumination source
-
8/8/2019 10 1 Introduction (1)
50/61
-
8/8/2019 10 1 Introduction (1)
51/61
-
8/8/2019 10 1 Introduction (1)
52/61
-
8/8/2019 10 1 Introduction (1)
53/61
Computing and Graphics - Now
Digital Convergence: Merging of digital television and distributed computing, consumer electronics:
settop computers (e.g., for Interactive TV, VideoOnDemand)
The Internet and Internet appliances Radio, movies,
Embedded computing Information appliances, Personal Digital Assistants aka telephones
Ubiquitous/pervasive/invisible computing, active badges, 100's ofdevices/person
Social computing
Chips are key in graphics: powerful, inexpensive processing Again, advances driven by Moore's Law
-
8/8/2019 10 1 Introduction (1)
54/61
Application Distinctions
Two basic paradigms for computer graphics:
1. Sampled-based graphics: Discrete samples are used to describe visual information
Pixels can be created by digitizing images, using a samplebased paintingprogram, etc.
Often some aspect of the physical world is sampled for visualization, e.g.,temperature across the US
Example programs: MS Paint, Adobe Photoshop
2. Geometry-based graphics: A geometrical modelis created, along with various attributes, and is then
sampled for visualization (this process is called rendering) Often some aspect of the physical world is visually simulated, or ``synthesized''
Example 2D programs: Adobe Illustrator, Macromedia Freehand, Corel CorelDRAW!, Microsoft PhotoDraw
Example 3D programs: Alias/Wavefront Studio and Maya, Avid's SoftImage 3D, Autodesk's AutoCAD and 3D
StudioMax, Autodesys FormZ
-
8/8/2019 10 1 Introduction (1)
55/61
Sampled-based Graphics, 1
Images are made up of a grid of discrete pixels for 2D ``pictureelements''
Pixels are point locations with associated sample values usually of light intensities/ colors, transparency, and other control information
-
8/8/2019 10 1 Introduction (1)
56/61
-
8/8/2019 10 1 Introduction (1)
57/61
Example of Sampling
In a continuous/analog, e.g., photographic image Color value is measured at every grid point and used to color a corresponding
grid square
E.g. at right: 0 = white, 5 = gray, 10 = black
Here, poor (low resolution) sampling and image reconstruction
method creates a blocky image
-
8/8/2019 10 1 Introduction (1)
58/61
Advantages Disadvantages of Sampling
Advantages:1.Once image is defined in terms of colors at (x, y) locations on grid, can changeimage easily by altering location or color values
e.g., if we reverse our mapping above and make 10 = white and 0 = black
2. Pixel information from one image can be copied and pasted into another,replacing or combining with previously stored pixels
Disadvantage: WYSIWYG (What You See Is What You Get):
There is no additional information: no depth information can't examine scene from a different point of view at most can play with the individual pixels or groups of pixels to change colors, enhance contrast, find
edges, etc.
-
8/8/2019 10 1 Introduction (1)
59/61
-
8/8/2019 10 1 Introduction (1)
60/61
Geometry-Based Graphics, the Model
A modelcaptures the salient features (data, behavior) of thing/phenomenonbeing modeled data includes geometry, appearance attributes...
similarity to OOP notions
Real: some geometry inherent physical (e.g., actual object such as a pump)
nonphysical (e.g., mathematical function, weather data)
scientific visualization
Abstract: no inherent geometry, but for visualization organizational (e.g., company org. chart)
quantitative (e.g., graph of stock market data)
information visualization
Modeling, you may recall from other cs courses, is coping with complexity
Then, given some model, reconstruct in graphics the visual representation E.g., from equation of sphere compute points
Through 3D computer graphics, for first time have abstract, easilychangeable 3D forms Revolutionized working process of many fields science, engineering, industrial design,
architecture, commerce, entertainment, etc. (this may be important)
-
8/8/2019 10 1 Introduction (1)
61/61
End