Computer Graphics: An Introduction
Computer Graphics: An Introduction
An Introduction
Colour
Applied geometry, modelling and rendering
09/12/2012
Lecture 1
09/12/2012
Lecture 1
09/12/2012
Lecture 1
09/12/2012
Lecture 1
Scientific Visualisation
To view below and above our visual range
09/12/2012
Lecture 1
First Lecture
The graphics processes
What we will cover on this course
Some definitions
Fundamental units we use in these processes
First Practical
09/12/2012
Lecture 1
(Local lighting effects) Illumination, lighting, shading, mirroring, shadowing Rasterization (creating the image using the 3D scene) Ray tracing Global illumination Curves and Surfaces
09/12/2012 Lecture 1 9
Graphics/Rendering Pipeline
Graphics processes generally execute sequentially Pipelining the process means dividing it into stages Especially when rendering in real-time, different hardware resources are assigned for each stage
09/12/2012
Lecture 1
10
09/12/2012
Lecture 1
11
Application stage
Entirely done in software by the CPU Read Data
the world geometry database, Users input by mice, trackballs, trackers, or sensing gloves
In response to the users input, the application stage change the view or scene
09/12/2012
Lecture 1
12
Geometry Stage
Modeling: shapes Model Transformation
Transformation: viewing
Hidden Surface Elimination Shading: reflection and lighting
09/12/2012 Lecture 1
Rasterization Stage
13
Rasterization Stage
Geometry Stage
Rasterization and Sampling Texture Mapping Image Composition Intensity and Colour Quantization
Framebuffer/Display
09/12/2012 Lecture 1 14
Geometry Pipeline
Loaded 3D Models
Model Transformation
Transformation: viewing
Imaging Pipeline
16
09/12/2012
Lecture 1
17
Model Transformation
Objects put into the scene by applying translation, scaling and rotation
09/12/2012
Lecture 1
18
Perspective Projection
We want to create a picture of the scene viewed from the camera We apply a perspective transformation to convert the 3D coordinates to 2D coordinates of the screen Objects far away appear smaller, closer objects appear bigger
09/12/2012
Lecture 1
19
09/12/2012
Lecture 1
20
Shading
Now we need to decide the colour of each pixels taking into account the objects colour, lighting condition and the camera position
point light source
Object
09/12/2012
Lecture 1
21
09/12/2012
Lecture 1
22
Objects coloured based on its own colour and the lighting condition
09/12/2012
Lecture 1
23
09/12/2012
Lecture 1
24
09/12/2012
Lecture 1
25
09/12/2012
Lecture 1
26
Phong shading
09/12/2012
Lecture 1
27
Rasterization and Sampling Texture Mapping Image Composition Intensity and Colour Quantization
Framebuffer/Display
09/12/2012 Lecture 1 28
Rasterization
Converts the vertex information output by the geometry pipeline into pixel information needed by the video display Aliasing: distortion artifacts produced when representing a high-resolution signal at a lower resolution. Anti-aliasing : technique to remove aliasing
09/12/2012
Lecture 1
29
Anti-aliasing
Anti-aliased polygons
30
How is anti-aliasing done? Each pixel is subdivided (sub-sampled) in n regions, and each sub-pixel has a color; Compute the average color value
09/12/2012
Lecture 1
31
Texture mapping
09/12/2012
Lecture 1
32
09/12/2012
Lecture 1
33
09/12/2012
Lecture 1
34
Graphics Definitions
Point
a location in space, 2D or 3D sometimes denotes one pixel
Line
straight path connecting two points infinitesimal width, consistent density beginning and end on points
09/12/2012 Lecture 1 36
Vertex
Edge
Graphics Definitions
point in 3D
Polygon/Face/Facet
arbitrary shape formed by connected vertices fundamental unit of 3D computer graphics
Mesh
Graphics Definitions
Rendering : process of generating an image from the model Framebuffer : a video output device that drives a video display from a memory containing the color for every pixel
09/12/2012
Lecture 1
38
09/12/2012
39
First Practical
Write a program that renders an image of a teapot and outputs it into an image file I prepared a demo program to load a 3D model and draw the edges You update it so that the surface appears shaded See the course website for the details
09/12/2012
Lecture 1
40
Some notifications
16 lectures in total I need to visit Japan in the beginning of October so no lecture on 5th October Need to attend conferences on 16th and 26th of November so no lectures there
Summary
The course is about algorithms, not applications
Lots of mathematics
Graphics execution is a pipelined approach Basic definitions presented Some support resources indicated
09/12/2012
Lecture 1
42