320 likes | 704 Vues
SI31 Advanced Computer Graphics AGR Ken Brodlie kwb@comp.leeds.ac.uk Lecture 1 - Overview Objectives To understand how 3D scenes can be modelled - in terms of geometry, appearance and behaviour - and rendered on a display
E N D
SI31Advanced Computer GraphicsAGR Ken Brodlie kwb@comp.leeds.ac.uk Lecture 1 - Overview
Objectives • 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, VRML and POVRAY)
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
Basic Modelling y objects represented as set of faces - ie polygons- and faces as a set of points x z scenes composed by scaling, rotating, translating objects to create a 3D world
camera Viewing • Clipping • selects a volume of interest • Projection • 3D scene is projected onto a 2D plane
Rendering illumination: how is light reflected from surfaces? ?? shading: how do we use our knowledge of illumination to shade surfaces in our world?
Rendering • texture • shadows
Lecture Outline - Internet • VRML • ISO standard for 3D graphics over the Web • allows modelling of geometry, appearance and behaviour
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
eye screen Lecture Outline - Advanced • Advanced Rendering - global illumination • ray tracing • radiosity based on physics of radiative heat transfer between surfaces objects light
POVRAY - freely available ray tracing software http://www.povray.org Ray Tracing
Radiosity from www.lightscape.com
Practical Outline • Basic graphics programming • creation of interactive 3D worlds using OpenGL • Web graphics • creating interactive, animated 3D virtual worlds on the Web using VRML • Advanced rendering • using POVRAY • Practical work will use the Linux and NT machines
AGR • Mastersclasses • additional seminars / study groups on more advanced topics in computer graphics and virtual environments… such as simulation of soft objects • Additional practical project
Course Info • Lectures • Monday 2.00 - 3.00 (LT19) • Tuesday 1.00 - 2.00 (LT25) • Practicals • Web site • http://www.comp.leeds.ac.uk/kwb/si31 • Newsgroups • local.modules.si31 local.modules.agr • local.modules.si31.talk local.modules.agr.talk
Books • Computer Graphics (second edition) • Hearn and Baker, Prentice Hall • 3D Computer Graphics (third edition) • Alan Watt, Addison Wesley • OpenGL Manual
Books • Introduction to Computer Graphics • Foley, van Dam, Feiner and Hughes, Addison-Wesley • Interactive Computer Graphics (top-down approach using OpenGL) • Angel, Addison Wesley • The VRML 2.0 Handbook • Hartman and Wernecke, Addison-Wesley • 3D Games • Alan Watt and Fabio Policarpo
Module Examination Coursework SI31 67% 33% AGR 60% 40% Assessment
This is Hubble Space Telescope modeled using the BRL-CAD system Uses CSG modeling and ray tracing for rendering http://ftp.arl.mil/brlcad Applications - Computer-Aided Design
Virtual oceanarium built for EXPO in Lisbon Example taken from Fraunhofer Institute site http://www.igd.fhg.de Applications - Virtual Reality
Ordnance Survey http://www.ordsvy.gov.uk GIS-3D also from Fraunhofer Institute Applications - Cartography and GIS
This example can be found on the SIGGRAPH Web Site Important computer graphics resource http:www.siggraph.org Applications - Computer Art
Turning scientific data into pictures with applications to medicine and computer simulations Applications - Scientific Visualization
Before we begin...mathematics! • 3D Co-ordinate Systems y y z x x z LEFT RIGHT z points away z 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.
Points and Vectors • We shall write points as column vectors y P P = x y z x z Difference of two points gives a direction vector: D = P2 - P1 y P2 Note: If P1 and P2 are on a plane, then D lies in the plane x z P1
Magnitude 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|
Scalar 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|*cosq where q is the angle between U and V • This lets us calculate angle q as cos q = (u1*v1 + u2*v2 + u3*v3) / (|U|*|V|)
Diffuse 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 normal light scalar product lets us calculate cosq q
Vector 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 q 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
Convince yourself that the x-axis is represented by the vector (1,0,0) What is the unit normal in the direction (2,3,4)? What is the angle between the vectors (1,1,0) and (1,0,0)? Which vector is orthogonal to the vectors (1,0,0) and (0,1,0)? What is the normal to the plane through the points (1,2,3), (3,4,5) and (0,0,0)? Exercises