Title: Getting Started with Computer Graphics
1Getting Started with Computer Graphics
A Short History of Computer Graphics Section 1
Introduction Section 2 The Graphics Rendering
Pipeline Section 3 Primitives Section 4
Algorithms Section 5 Co-ordinate
Systems Section 6 World Origin and Local
Origin Section 7 Orienting Shapes
2AShort Historyof Computer Graphics
1963 Ivan Sutherland (MIT) Sketchpad Calligraphi
c display devices Interactive techniques 1969
Evans Sutherland founded First SIGGRAPH Mid
70's Raster Graphics (Xerox PARC, Shoup) Mid
70's - present Quest for realism Raytracing,
radiosity also mainstream real-time
applications. 90's Interactive graphics as a
media form Scientific visualisation, VR,
Infobahn ...
3Ivan Sutherland
The first VR Pioneer. His contributions at
Harvard, and then at the University of Utah, were
basic to computer graphics and immersive
interaction. His group developed the first
algorithms to remove "hidden lines" in drawings
of 3D objects, a technique essential to any sort
of realistic rendering. Perhaps most notably,
in 1967, he and a research group at Harvard were
experimenting with the presentation of
three-dimensional data through the use of a
binocular display system which was coupled to the
user's head the head-mounted display.
4The Utah Research Unit
The University of Utah was the centre of research
into rendering algorithms in the early
1970s. Various polygon models were set up
manually, including a VW Beetle, digitised by
Ivan Sutherlands class in 1971.
5The Utah Teapot
In 1975 Mike Newall developed the Utah teapot, a
familiar object that has become a kind of
benchmark in computer graphics. The original
teapot is now in the Boston Computer Museum,
displayed alongside its computer ego.
6Raster Graphics
Common raster formats include TIFF, JPEG, GIF,
PCX, BMP. Adobe Photoshop, Picture Publisher,
and Fractal Painter are among the most popular
packages for creating raster graphics.
7RaytracingPoV Ray
8PoV Ray
9Current Work
10Current Work
11Current Work
12Current Work
13Introduction
Although we all live and work in a 3D
environment, our perception of 2D graphics is
clearer than our understanding of the more
complex concepts of 3D. The aims of the computer
graphics part of the course is to introduce some
of these basic 3D concepts and explain how CG and
VR systems use them to construct VEs.
14The Graphics Rendering Pipeline
15The Graphics Rendering Pipeline
Rendering The conversion of a scene into an
image Scene Composed of models placed in 3D
space. Models Composed of collections of
primitives. Primitives Graphic components
supported by a Renderer. Output Image May be
drawn on a monitor or printed on a laser printer
or written to a raster in memory or to a file or
... ...Must consider device independence. The
Graphics Pipeline The model to image
conversion broken into stages. Some version of
the pipeline is implemented in graphics hardware
to get interactive speeds.
16Co-ordinate Systems
- MCS Modelling Co-ordinate System.
- WCS World Co-ordinate System.
- VCS Viewer Co-ordinate System.
- NDCS Normalised Device Co-ordinate System.
- DCS or SCS Device Co-ordinate System or
- equivalently the Screen Co-ordinate System.
17The Graphics Rendering Pipeline
18Pipeline Stages
- Refine the scene step by step
- Convert primitives in the MCS to primitives in
the DCS. - Add derived information shading, texture,
shadows. - Remove invisible primitives.
- Convert primitives in the DCS to pixels in a
raster image.
19Transformations
Co-ordinate system conversions can be represented
with matrix-vector multiplication.
20Primitives
- Models are typically composed of a large number
of geometric primitives. The only rendering
primitives typically supported in hardware are - Points (single pixels)
- Line Segments
- Polygons (usually restricted to convex
polygons).
21Primitives
- Modelling primitives include these, but also
- Polynomial (spline) curves
- Polynomial (spline) surfaces
- Implicit surfaces (quadrics, etc)
- Other...
- A software renderer may support these modelling
primitives directly, or they may be converted
into polygonal or linear approximations for
hardware rendering.
22Algorithms
Transformation Convert representations of
primitives from one co-ordinate system to
another. Clipping/Hidden Surface Removal Remove
primitives and parts of primitives that are not
visible on the display. Rasterisation Convert a
projected screen-space primitive to a set of
pixels. Picking Select a 3D object by clicking
an input device over a pixel location. Shading
and Illumination Simulate the interaction of
light with a scene. Animation Simulate movement
by rendering a sequence of frames.
23Co-ordinate Systems
To give the desired effect, 3D objects should be
displayed with depth and perspective, to bring
realism to a scene. We do this by using points
and axes to determine position. Within the field
of CG and VR we use three perpendicular axes,
which are conventionally labelled as x, y and z
axes and the distances from the origin that form
the position of a point are referred to as the x,
y and z values. There are different co-ordinate
rules employed by different software systems, the
left hand and right hand rule.
24Co-ordinate Systems
25Co-ordinates - Room 1
To describe the basics of how such a co-ordinate,
or point system works we will use a simple
analogy. Consider a room that has four walls, a
floor and a ceiling - this is our imaginary, or
virtual, world. Any point within this world, for
example a light bulb, can be specified using
three distances - across the front, up towards
the ceiling, and then into the room. These three
values define a co-ordinate or point, and are
measurements from the origin (in this case the
origin is the bottom left hand corner of the room
and the co-ordinate systems is left handed).
26Co-ordinates - Room 1
27Co-ordinates - Room 2
If we were to change the origin to another part
of the room, then the distances to the light bulb
(our point) would change as well. The directions
in which we measure these three distances to the
point define an axes system. Distances do not
need to be shown as positive values. For example,
if we make the position of the light bulb our
starting point, or origin, and out destination is
the bottom left hand corner, then the values are
all negative (for a left handed systems).
28Co-ordinates - Room 2
29World Origin and Local origin
Points outside a room can also be readily
defined. So points in another room or another
building can be defined with respect to this
origin, which is known as our world origin.
Therefore we can say that everything in our world
is measured from this world origin. It is worth
noting that the units of measurement are not
necessarily specified. They could be yards, feet,
meters, millimetres or light years, the size of
the world is effectively infinite.
30World Origin and Local Origin
The concept of local origin is very important. It
is used as a reference point for placing shapes
and models in the world both individually and as
part of a bounded hierarchy, allowing complete
flexibility.
31World Origin and Local Origin
When the shape is added into a world, the local
origin is referenced to the world origin. So as
shapes are moved around in the virtual world, we
only change the local origin, rather than the
position of each individual point.
32Aircraft and Control Tower
As an example consider an aircraft in the
sky. Once we have defined the points and faces
with respect to the local origin, to place the
aircraft in the world we specify the origin of
the aircraft in relation to the world origin
(control tower).
33Aircraft and Control Tower
34Orienting Shapes
A shape not only has an origin defined by a point
in space, but also an orientation. Most real
world shapes have a logical upright
orientation and some can be considered as having
a logical front, for example, aircraft and
cars, i.e. you can think of the objects
orientation as the way that it faces.
35Orienting Shapes
Orientation applies to all objects in the virtual
world - models, lights, cameras etc., and can be
defined as a measure of the angular rotation
about each of the three axes, this is often
measured in degrees.
36Orienting Shapes
As the distances along each axis are labelled x,
y and z, so the labels for the rotation are known
by terms from the world of aviation pitch, yaw
and roll. Pitch is the rotation around the
x-axis, yaw is rotation around the y-axis and
roll is a rotation around the z-axis.
37Orienting Shapes