1gr2-00 gr2 advanced computer graphics agr ken brodlie [email protected] lecture 1 - overview
TRANSCRIPT
1GR2-00
GR2Advanced Computer
GraphicsAGR
GR2Advanced Computer
GraphicsAGR
Lecture 1 - Overview
2GR2-00
ObjectivesObjectives
To understand how 3D scenes can be modelled - in terms of geometry, appearance and behaviour - and rendered on a display
To understand how to deliver interactive animated 3D graphics over the Internet
To be able to create interactive 3D graphics applications using industry standard software (OpenGL and VRML)
3GR2-00
Lecture Outline - The Basics
Lecture Outline - The Basics
MODELLING– representing objects in 3D– transforming objects and composing scenes
VIEWING– projecting 3D scenes onto a 2D display
surface RENDERING
– illumination– shading– adding realism via textures, shadows
4GR2-00
Basic ModellingBasic Modelling
x
y
z
objects representedas set of faces - iepolygons- and facesas a set of points
scenes composedby scaling, rotating,translating objects tocreate a 3D world
5GR2-00
ViewingViewing
Clipping– selects a volume of interest (cf 2D
clipping in GR1) Projection
– 3D scene is projected onto a 2D plane
camera
6GR2-00
RenderingRendering
??
shading:how do we use ourknowledge of illuminationto shade surfaces in ourworld?
illumination:how is light reflectedfrom surfaces?
7GR2-00
RenderingRendering
texture
shadows
8GR2-00
Lecture Outline - InternetLecture Outline - Internet
VRML– ISO standard for 3D graphics over
the Web– allows modelling of geometry,
appearance and behaviour
9GR2-00
Lecture Outline - Advanced
Lecture Outline - Advanced
ADVANCED RENDERING– direct versus global illumination
methods– ray tracing and radiosity
OTHER ADVANCED FEATURES– curve and surface modelling– image based rendering– non-photorealistic rendering
10GR2-00
Lecture Outline - Advanced
Lecture Outline - Advanced
Advanced Rendering - global illumination– ray tracing
– radiositybased on physics of radiative heat
transfer between surfaces
light
eye
screen
objects
11GR2-00
Ray TracingRay Tracing
12GR2-00
RadiosityRadiosity
13GR2-00
Practical OutlinePractical Outline
Basic graphics programming– creation of interactive 3D worlds
using OpenGL Web graphics
– creating interactive, animated 3D virtual worlds on the Web using VRML
Practical work will use the Silicon Graphics O2 laboratory, and the linux machines
14GR2-00
AGR AGR
Virtual Environments– study group looking at the
advanced requirements for VR .. or interactive simulation
Practical work using Open Inventor
15GR2-00
Course InfoCourse Info
Lectures– Monday 2.00 - 3.00 (LT25)– Tuesday 1.00 - 2.00 (LT25)
Practicals Web site
– http://www.scs.leeds.ac.uk/kwb/GR2 Newsgroups
– local.modules.gr2 local.modules.agr– local.modules.gr2.talk
local.modules.agr.talk
16GR2-00
BooksBooks
Computer Graphics (second edition)– Hearn and Baker, Prentice Hall
3D Computer Graphics (third edition)– Alan Watt, Addison Wesley
Introduction to Computer Graphics– Foley, van Dam, Feiner and Hughes,
Addison-Wesley
17GR2-00
BooksBooks
Interactive Computer Graphics (top-down approach using OpenGL)– Angel, Addison Wesley
The VRML 2.0 Handbook– Hartman and Wernecke, Addison-
Wesley
OpenGL Manual
18GR2-00
AssessmentAssessment
Module Examination Coursework
GR2 75% 25%
AGR 60% 40%
19GR2-00
Before we begin...mathematics!
Before we begin...mathematics!
3D Co-ordinate Systems
LEFT RIGHT
x
yz
x
y
z
z points away z points toward
Align thumb with x, first finger with y, then second fingerof appropriate hand gives z direction. Common now touse a RIGHT HANDED system.
20GR2-00
Points and VectorsPoints and Vectors
We shall write points as column vectors
xyz
P =
Difference of two points gives a direction vector:D = P2 - P1
x
y
z
P2
P1
x
y
z
P
Note: If P1 and P2are on a plane, thenD lies in the plane
21GR2-00
Magnitude of a VectorMagnitude of a Vector
The magnitude of a vector V = (v1,v2,v3)T is given by:
|V| = sqrt(v1*v1 + v2*v2 + v3*v3)
eg (1,2,3)T has magnitude sqrt(14) A unit vector has magnitude 1 A unit vector in the direction of
V is V / |V|
22GR2-00
Scalar or Dot ProductScalar or Dot Product
The scalar product, or dot product, of two vectors U and V is defined as:
U.V = u1*v1 + u2*v2 + u3*v3
It is important in computer graphics because we can show that also:
U.V = |U|*|V|*coswhere is the angle between U and V
This lets us calculate angle ascos = (u1*v1 + u2*v2 + u3*v3) / (|U|*|V|)
23GR2-00
Diffuse LightingDiffuse Lighting
Diffuse reflection depends on angle between light direction and surface normal:reflected intensity = light intensity *
cosine of angle between light direction and surface normal
light normal
scalar product letsus calculate cos
24GR2-00
Vector or Cross ProductVector or Cross Product
The vector or cross product is defined as:UxV = (u2v3 - u3v2, u3v1 - u1v3, u1v2 - u2v1)
We can also show that:UxV = N |U||V| sin where N is unit vector orthogonal to U and V
(forming a right handed system) and is angle between U and V
This allows us to find the normal to a plane– cross-product of two directions lying in plane ,
eg (P3-P2), (P2-P1), where P1, P2, P3 are three points in the plane