×
Expecting to get a good job without studying hard is like expecting to win a marathon without running it.
--Your friends at LectureNotes
Close

Computer Graphics

by Sindhiya Raj
Downloads: 75Views: 2782Uploaded: 7 months agoAdd to Favourite

Share it with your friends

Suggested Materials

Leave your Comments

Contributors

Computer Graphics Lecture Notes www.Vidyarthiplus.com Computer Science Department
www.Vidyarthiplus.com CONTENTS Contents Conventions and Notation v 1 Introduction to Graphics 1.1 Raster Displays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Basic Line Drawing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 2 2 Curves 2.1 Parametric Curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.1 Tangents and Normals . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Ellipses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Polygons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4 Rendering Curves in OpenGL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4 6 7 8 8 3 Transformations 3.1 2D Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Affine Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Homogeneous Coordinates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 Uses and Abuses of Homogeneous Coordinates . . . . . . . . . . . . . . . . . . . 3.5 Hierarchical Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6 Transformations in OpenGL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 10 11 13 14 15 16 4 Coordinate Free Geometry 18 5 3D Objects 21 5.1 Surface Representations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 5.2 Planes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 5.3 Surface Tangents and Normals . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 5.3.1 Curves on Surfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 5.3.2 Parametric Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 5.3.3 Implicit Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 5.4 Parametric Surfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 5.4.1 Bilinear Patch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 5.4.2 Cylinder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 5.4.3 Surface of Revolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 5.4.4 Quadric . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 5.4.5 Polygonal Mesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 5.5 3D Affine Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 5.6 Spherical Coordinates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 5.6.1 Rotation of a Point About a Line . . . . . . . . . . . . . . . . . . . . . . . 29 5.7 Nonlinear Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 i
www.Vidyarthiplus.com CONTENTS 5.8 Representing Triangle Meshes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 5.9 Generating Triangle Meshes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 6 Camera Models 32 6.1 Thin Lens Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 6.2 Pinhole Camera Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 6.3 Camera Projections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 6.4 Orthographic Projection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 6.5 Camera Position and Orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 6.6 Perspective Projection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 6.7 Homogeneous Perspective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 6.8 Pseudodepth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 6.9 Projecting a Triangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 6.10 Camera Projections in OpenGL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 7 Visibility 45 7.1 The View Volume and Clipping . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 7.2 Backface Removal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 7.3 The Depth Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 7.4 Painter's Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 7.5 BSP Trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 7.6 Visibility in OpenGL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 8 Basic Lighting and Reflection 51 8.1 Simple Reflection Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 8.1.1 Diffuse Reflection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1 8.1.2 Perfect Specular Reflection . . . . . . . . . . . . . . . . . . . . . . . . . . 52 8.1.3 General Specular Reflection . . . . . . . . . . . . . . . . . . . . . . . . . 52 8.1.4 Ambient Illumination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 8.1.5 Phong Reflectance Model . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3 8.2 Lighting in OpenGL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 9 Shading 9.1 Flat Shading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2 Interpolative Shading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3 Shading in OpenGL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 57 57 58 10 Texture Mapping 59 10.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 10.2 Texture Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 10.2.1 Texture Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 10.2.2 Digital Images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 ii
www.Vidyarthiplus.com 10.3 Mapping from Surfaces into Texture Space 10.4 Textures and Phong Reflectance . . . . . . 10.5 Aliasing . . . . . . . . . . . . . . . . . . . 10.6 Texturing in OpenGL . . . . . . . . . . . . CONTENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 61 61 62 11 Basic Ray Tracing 64 11.1 Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 11.2 Ray Casting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 11.3 Intersections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 11.3.1 Triangles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 11.3.2 General Planar Polygons . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 11.3.3 Spheres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 11.3.4 Affinely Deformed Objects . . . . . . . . . . . . . . . . . . . . . . . . . . 67 11.3.5 Cylinders and Cones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 11.4 The Scene Signature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 11.5 Efficiency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 11.6 Surface Normals at Intersection Points . . . . . . . . . . . . . . . . . . . . . . . . 70 11.6.1 Affinely-deformed surfaces. . . . . . . . . . . . . . . . . . . . . . . . . . 70 11.7 Shading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 11.7.1 Basic (Whitted) Ray Tracing . . . . . . . . . . . . . . . . . . . . . . . . . 71 11.7.2 Texture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 11.7.3 Transmission/Refraction . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 11.7.4 Shadows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 12 Radiometry and Reflection 12.1 Geometry of lighting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.2 Elements of Radiometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.2.1 Basic Radiometric Quantities . . . . . . . . . . . . . . . . . . . . . . . . 12.2.2 Radiance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.3 Bidirectional Reflectance Distribution Function . . . . . . . . . . . . . . . . . . . 12.4 Computing Surface Radiance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.5 Idealized Lighting and Reflectance Models . . . . . . . . . . . . . . . . . . . . . 12.5.1 Diffuse Reflection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.5.2 Ambient Illumination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.5.3 Specular Reflection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.5.4 Phong Reflectance Model . . . . . . . . . . . . . . . . . . . . . . . . . . 76 76 81 81 83 85 86 88 88 89 90 91 13 Distribution Ray Tracing 13.1 Problem statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.2 Numerical integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.3 Simple Monte Carlo integration . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 92 93 94 iii

Lecture Notes