Download Fundamentals of Computer Graphics

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Fundamentals of Computer Graphics
Part 1
prof.ing.Václav Skala, CSc.
University of West Bohemia
Plzeň, Czech Republic
©2002
Prepared with Angel,E.: Interactive Computer
Graphics – A Top Down Approach with OpenGL,
Addison Wesley, 2001
Graphics Systems
Five major elements - processor, memory,
frame buffer, output devices, input devices
Fundamentals of Computer Graphics
2
Pixels and Frame Buffer
Most graphics systems are pixel based – need of rasterization or
scan conversion; pixel = picture element
8 bits deep frame – 256 colors; 24 or 32 bits for RGB colors
picture detail
Fundamentals of Computer Graphics
3
Output Devices
The cathode-ray tube CRT
Fundamentals of Computer Graphics
4
Output Devices
RGB – shadow mask
Fundamentals of Computer Graphics
5
Output Devices
Refresh rate: 50 – 85 Hz, for stereovision 120Hz (2 x60 Hz)
Mode: interlaced versus non-interlaced
Masks: DELTA versus INLINE
LCD Displays – raster based
Raster devices
– sequential access - plotters etc.
– direct access – displays etc.
– mixed – inkjet printers – printed sequentially, accessed directly
Fundamentals of Computer Graphics
6
Fundamentals of Computer Graphics
Images – Physical versus Synthetic
Computer graphics generates pictures with the aim of:
– to create realistic images
– to create images very close to “traditional” imaging methods
Fundamentals of Computer Graphics
7
Objects and Viewers
Two basic entities (one object seen from two different positions) :
– object(s) – exists in space independent of any image-formation process
or viewer
– viewer(s)
Fundamentals of Computer Graphics
8
Objects, Viewers & Camera
Camera system
– object and viewer exist in E3
– image is formed
• in the Human Visual system
(HSV) – on the retina
• In the film plane if a camera
is used
– Object(s) & Viewer(s) in E3
– Pictures in E2
Transformation from E3 to E2
projection
Fundamentals of Computer Graphics
9
Lights & Images
Others attributes:
– light sources
• position
• monochromatic / color
– if not used scene would be
very dark and flat
– shadows and reflections - very
important for realistic
perception
– geometric optics used for light
modeling
Fundamentals of Computer Graphics
10
Colours
• Light is a form of
electromagnetic radiation
• Visible spectrum 350 – 780 nm
Fundamentals of Computer Graphics
11
Ray Tracing
Ray tracing
– building an imaging model by
following light from a source
– a ray is a semi-infinite line
that emanates from a point
and “travels” to infinity in a
particular direction
– portion of these infinite rays
contributes to the image on
the film plane of the camera
surfaces:
– diffusing
– reflecting
– refracting
Fundamentals of Computer Graphics
12
Ray Tracing
A different approach must be used:
• for each pixel intensity must be
computed
• all contributions must be taken
into account
• a ray is “followed” in the
opposite direction, when
intersect a surface it is split into
two rays
• contribution from light sources
and reflection from other
resources are counted
Fundamentals of Computer Graphics
13
Human Visual System
- HVS
• rods and cones (tyčinky a čípky) excited by electromagnetic
energy in the range 350-780 nm
• sizes of rods and cones determines the resolution of HVS – our
visual acuity
• the sensors in the human eye do not react uniformly to the light
energy at different wavelengths
Fundamentals of Computer Graphics
14
Human Visual System - HVS
Courtesy of http://www.webvision.med.utah.edu/into.html
Fundamentals of Computer Graphics
15
Human Visual System
• different HVS response for single
frequency light – red/green/blue
• relative brightness response at
different frequencies
• this curve is known as
Commision Internationale de
L’Eclairage (CIE) standard
observer curve
• the curve matches the sensitivity
of the monochromatic sensors used in
black&white films and video camera
• most sensitive to GREEN colors
Fundamentals of Computer Graphics
16
Human Visual System
• three different cones in HVS
• blue, green & yellow – often
reported as red for compatibility
with camera & film
Fundamentals of Computer Graphics
17
Pinhole Camera
Box with a small hole
• film plane z = - d
y
yp  
z
d
x
xp  
z
d
!!!yp,-d
Fundamentals of Computer Graphics
18
Pinhole Camera
point (xp,yp,-d) –
projection of the
point (x,y,z)
angle of view or field
of the camera –
angle 
ideal camera –
infinite depth of
field
h
  2 arctan
2d
Fundamentals of Computer Graphics
19
Synthetic Camera Model
computer-generated image based
on an optical system –
Synthetic Camera Model
viewer behind the camera can
move the back of the camera –
change of the distance d
i.e. additional flexibility
objects and viewer specifications
are independent – different
functions within a graphics
library
Fundamentals of Computer Graphics
Imaging system
20
Synthetic Camera Model
a – situation with a camera
b – mathematical model – image plane moved in front of the camera
center of projection – center of the lens
projection plane – film plane (průmětna)
Fundamentals of Computer Graphics
21
Synthetic Camera Model
Imaging with the Synthetic Camera
Model
• film plane position in a camera
• projected scene to the projection
plane
Fundamentals of Computer Graphics
22
Synthetic Camera Model
Not all objects can be seen
limit due to viewing angle
Solution:
Clipping rectangle or clipping
window placed inn front of
the camera
ad b shows the case when the
clipping rectangle is shifted
aside – only part of the the
scene is projected
Fundamentals of Computer Graphics
23
Programmer’s Interface
• Numerous ways for user
interaction with a graphics
system using input devices
- pads, mouse, keyboards
etc.
• different orientation of
coordinate systems
canvas versus OpenGL etc.
Fundamentals of Computer Graphics
24
Application Programmer’s Interface
• API functionality should
match the conceptual
model
• Synthetic Camera Model
used for APIs like
OpenGL, PHIGS, Direct
3D, Java3D, VRML etc.
Functionality needed in the
API to specify:
• Objects
• Viewers
• Light sources
• Material properties
Fundamentals of Computer Graphics
25
Application Programmer’s Interface
• Objects are defined by
points or vertices, line
segments, polygons etc. to
represent complex objects
• API primitives are
displayed rapidly on the
hardware
• usual API primitives:
–
–
–
–
points
line segments
polygons
text
Fundamentals of Computer Graphics
26
Application Programmer’s Interface
OpenGL defines primitives through list of vertices – triangular
polygon is drawn by:
glBegin(GL_POLYGON);
glVertex3f(0.0, 0.0, 0.0);
glVertex3f(0.0, 1.0, 0.0);
glVertex3f(0.0, 0.0, 1.0);
glEnd( );
attribute GL_POLYGON actually defines the primitive to be
drawn – others
GL_LINE_STRIP - draws a strip –
n+1 points define n triangles
GL_POINTS – draws only points
Fundamentals of Computer Graphics
27
Application Programmer’s Interface
Some APIs :
• work with frame buffer – read/write pixel level
• provides curves & surfaces / approximated by a
series of simpler primitives
• OpenGL provides frame buffer, curves and surfaces
Fundamentals of Computer Graphics
28
Application Programmer’s Interface
Camera specification in APIs:
• position – usually center of lens
• orientation – camera coordinate
system in center of lens
camera can rotate around those
three axis
• focal length of lens determines
the size of the image on the film
actually viewing angle
• film plane - camera has a height
and a width
Fundamentals of Computer Graphics
29
Application Programmer’s Interface
Two coordinate systems are used:
• world coordinates, where the object is defined
• camera coordinates, where the image is to be produced
Transformation for conversion between coordinate systems or
gluLookAt(cam_x, cam_y,cam_z, look_at_x, look_at_y, look_at_z,…)
glPerspective( field_of_view)
Lights – location, strength, color, directionality
Material – properties are attributes of objects
Observed visual properties of objects are given by material and light properties
Fundamentals of Computer Graphics
30
Modeling - Rendering Paradigm
In many applications the modeling is separated from production
of an image – rendering (CAD systems, animations etc.)
In this case the modeling SW/HW might be different from the
renderer
the connection between both parts can be simple or highly
complex using distributed environments
Fundamentals of Computer Graphics
31
Graphics Architectures
Early graphics systems – CRT had just basic capability to
generate line segments connecting two points
• vector based with refreshing – length of line segments limited
light pen often used for manipulation
• systems with memory CRT – the whole picture redrawn if
changed
Fundamentals of Computer Graphics
32
Graphics Architectures
Display processors
• standard architecture with capabilities to display primitives
• composition made at the host
• memory – display list – contains primitives to be displayed.
Fundamentals of Computer Graphics
33
Pipeline Architectures
VLSI circuits enabled major advances in graphics architectures
- simple arithmetic pipeline a + b * c
- when addition of (b * c) and a is performing new b * c is
computed in parallel – pipelining enabled significant speed up
- similar approach can be used for processing of geometric
primitives as well
Fundamentals of Computer Graphics
34
Pipeline Architectures
There are 4 major steps in the geometric pipeline:
• transformations – like scaling, rotations, translation, mirroring,
sheering etc.
• clipping – removal of those parts that are out of the viewing
field
• projection
• rasterization
homogeneous coordinates and matrix operations geometric
transformations are used
Fundamentals of Computer Graphics
35
Clipping, Projection & Rasterization
• Clipping is used to remove those parts of the world that cannot
be seen.
• Objects representation is “kept” in 3D as long as possible.
After transformation and clipping must be projected to 2D
somehow
• projected objects or their parts must be displayed – and
therefore rasterized.
All those steps are performed on your graphics cards in haerware
nowadays.
Fundamentals of Computer Graphics
36
Conclusion
• Consider a standard camera with 36x24 mm film and having a
zoom 26 – 140mm. How the viewing angle or viewing field is
defined.
• what is the difference in viewing between cases a) and b)?
• answer question from Chapter 1
Fundamentals of Computer Graphics
37
Exercise No.1
The aim of the first experiment is to:
• read data of a complex geometric model defined by the
TRI format (routine for reading will be given)
• store it in the data structure
• display the model as a set of triangles as wire-model
(without shading, visibility)
• explore other possibilities of drawing
– visible parts only by
– with constant shading
by setting some attributes
• explore a possibility to create your own data model
Fundamentals of Computer Graphics
38
Exercise No.1 – TRI format
# (data originally from powerflip, not avalon)
# Object name : --- The canonical cow --# Number of triangles : 5804
# Number of vertices : 2905
[Vertices]
0.0 0.0 0.0
0.151632 -0.043319 -0.08824
0.163424 -0.033934 -0.08411
0.163118 -0.053632 -0.080509
x,y,z coordinates of the j-th vertex
Fundamentals of Computer Graphics
39
Exercise No.1 – TRI format
[Triangles]
123
245
546
………..
vertex indices forming the i-th triangle
[Triangles' Normals]
0.442 -0.167 -0.881 i-th normal vector for the i-th triangle
0.595 -0.088 -0.798
0.735 -0.093 -0.671
…………………………………………..
Fundamentals of Computer Graphics
40
Related documents