160 likes | 164 Views
This lecture covers various topics in advanced computer graphics, including 3D modeling, transformation, viewing, clipping, projection, hidden surface removal, lighting models, texture mapping, curves, and surfaces. The graphics pipeline, from creating objects/scenes to determining visible pixels, will be explored. Various resources and learning materials are provided.
E N D
Spring 2006G5BAGR – Advanced Computer Graphics Guoping Qiu http://www.cs.nott.ac.uk/~qiu Lecture note from Dr Bai Li
Methods & Resources • Lectures: Wednesday 12:00 - 13:00 NEW-A24 Thursday 9:00 -10:00 NEW-A26 • Assessment: 100% exam • Learning materials: • Books: • Computer Graphics: principles and practice (3rd edition), by Foley et al. • Interactive Computer Graphics: A Top-Down Approach with OpenGL, by Edward Angel. • Any other appropriate CG books, Journals, Articles …. • Online notes • http://www.cs.nott.ac.uk/~qiu/Teaching/Courses/Courses.html • Lab Facility: OpenGL Library
Contents • 3D graphics - creating 3D scenes and viewing them as 2D images • Module roughly follows the graphics pipeline, topics include • 3D Modeling • Transformation • Viewing • Clipping • Projection • Hidden Surface Removal • Lighting Models • Texture Mapping • Curves & Surfaces • Other advanced topics in CG
3D Graphics Pipeline • Graphics pipeline involves • Creating objects/scene – 3D modeling • define objects in local coordinate system • transform library objects • transform objects to world coordinate system • Determining which part of the objects/scene are visible • Camera model (position, direction, focal length) to define viewing volume • Transform objects to camera coordinate system • Clipping against view volume to determine visible objects • Projection to obtain 2D representation of objects • Determining which pixels should be filled • Rasterization – from vectors/polygons to pixels • Hidden Surface Removal - determine which object in the view volume should appear in image at each pixel • Determining what color/texture/lighting it is • Lighting models and texture mapping
Modelling • Scene = list of objects • Object = list of surfaces • Surface = list of polygons • Polygon = list of vertices scene vertices object surfaces polygons
Polygon Mesh • Each polygon is planar. We need a large number of small polygons to give the impression of curved surfaces: 48 polygons 120 polygons 300 polygons 1000 polygons
Polygon Mesh Creation • Laser scanning • Stereo matching • Structured light • Software then takes thousands of points (point cloud) and builds a polygon mesh out of them • Research topics: • Reduce number of mesh points • Reconstruction
camera setup Viewing and Clipping camera (viewing) coordinate world coordinate view frustum outside view so must be clipped
View Volume (Frustum) back plane view frustum view window camera front plane zV
camera setup 3d models viewport Projection
Rasterisation • Rasterisation, or scan conversion, is the process of finding which pixels an individual polygon covers or, at a more basic level, which pixels an edge of a polygon lies on • Generally polygons are filled using horizontal line segments; these can be thought of as the intersection of the polygon with a particular scan line.
There are two basic ways of ordering the rendering of a scene. These are: On a polygon-by-polygon basis The z-buffer approach The z-buffer algorithm is equivalent to, for each pixel, a search through the associated z values of each interior polygon point to find the point which holds the minimum depth value z (nearest to the viewer). A B y z2 z1 x z Hidden Surface Removal
3d Modelling • Lighting Models • Texture Mapping • Curves and surfaces