2GR2-00 Objectives n To understand how 3D scenes can be modelled - in terms of geometry, appearance and behaviour - and rendered on a display n To understand how to deliver interactive animated 3D graphics over the Internet n To be able to create interactive 3D graphics applications using industry standard software (OpenGL and VRML)
3GR2-00 Lecture Outline - The Basics n MODELLING – representing objects in 3D – transforming objects and composing scenes n VIEWING – projecting 3D scenes onto a 2D display surface n RENDERING – illumination – shading – adding realism via textures, shadows
4GR2-00 Basic Modelling x y z objects represented as set of faces - ie polygons- and faces as a set of points scenes composed by scaling, rotating, translating objects to create a 3D world
5GR2-00 Viewing n Clipping – selects a volume of interest (cf 2D clipping in GR1) n Projection – 3D scene is projected onto a 2D plane camera
6GR2-00 Rendering ?? shading: how do we use our knowledge of illumination to shade surfaces in our world? illumination: how is light reflected from surfaces?
8GR2-00 Lecture Outline - Internet n VRML – ISO standard for 3D graphics over the Web – allows modelling of geometry, appearance and behaviour
9GR2-00 Lecture Outline - Advanced n ADVANCED RENDERING – direct versus global illumination methods – ray tracing and radiosity n OTHER ADVANCED FEATURES – curve and surface modelling – image based rendering – non-photorealistic rendering
10GR2-00 Lecture Outline - Advanced n Advanced Rendering - global illumination – ray tracing – radiosity based on physics of radiative heat transfer between surfaces light eye screen objects
13GR2-00 Practical Outline n Basic graphics programming – creation of interactive 3D worlds using OpenGL n Web graphics – creating interactive, animated 3D virtual worlds on the Web using VRML n Practical work will use the Silicon Graphics O2 laboratory, and the linux machines
14GR2-00 AGR n Virtual Environments – study group looking at the advanced requirements for VR.. or interactive simulation n Practical work using Open Inventor
15GR2-00 Course Info n Lectures – Monday 2.00 - 3.00 (LT25) – Tuesday 1.00 - 2.00 (LT25) n Practicals n Web site – http://www.scs.leeds.ac.uk/kwb/GR2 n Newsgroups – local.modules.gr2local.modules.agr – local.modules.gr2.talklocal.modules.agr.talk
16GR2-00 Books n Computer Graphics (second edition) – Hearn and Baker, Prentice Hall n 3D Computer Graphics (third edition) – Alan Watt, Addison Wesley n Introduction to Computer Graphics – Foley, van Dam, Feiner and Hughes, Addison-Wesley
17GR2-00 Books n Interactive Computer Graphics (top- down approach using OpenGL) – Angel, Addison Wesley n The VRML 2.0 Handbook – Hartman and Wernecke, Addison-Wesley n OpenGL Manual
19GR2-00 Before we begin...mathematics! n 3D Co-ordinate Systems LEFT RIGHT x y z x y z z points awayz points toward Align thumb with x, first finger with y, then second finger of appropriate hand gives z direction. Common now to use a RIGHT HANDED system.
20GR2-00 Points and Vectors n We shall write points as column vectors xyzxyz P = Difference of two points gives a direction vector: D = P 2 - P 1 x y z P2P2 P1P1 x y z P Note: If P1 and P2 are on a plane, then D lies in the plane
21GR2-00 Magnitude of a Vector n The magnitude of a vector V = (v 1,v 2,v 3 ) T is given by: |V| = sqrt(v 1 *v 1 + v 2 *v 2 + v 3 *v 3 ) eg (1,2,3) T has magnitude sqrt(14) n A unit vector has magnitude 1 n A unit vector in the direction of V is V / |V|
22GR2-00 Scalar or Dot Product n The scalar product, or dot product, of two vectors U and V is defined as: U.V = u 1 *v 1 + u 2 *v 2 + u 3 *v 3 n It is important in computer graphics because we can show that also: U.V = |U|*|V|*cos where is the angle between U and V This lets us calculate angle as cos = (u 1 *v 1 + u 2 *v 2 + u 3 *v 3 ) / (|U|*|V|)
23GR2-00 Diffuse Lighting n 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 lets us calculate cos
24GR2-00 Vector or Cross Product n The vector or cross product is defined as: UxV = (u 2 v 3 - u 3 v 2, u 3 v 1 - u 1 v 3, u 1 v 2 - u 2 v 1 ) n 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 n This allows us to find the normal to a plane – cross-product of two directions lying in plane, eg (P 3 -P 2 ), (P 2 -P 1 ), where P 1, P 2, P 3 are three points in the plane
Your consent to our cookies if you continue to use this website.