×
Every great story on the planet happened when someone decided not to give up, but kept going no matter what.
--Your friends at LectureNotes
Close

Computer Graphics

by Sindhiya Raj
Type: NoteOffline Downloads: 161Views: 5355Uploaded: 1 year agoAdd to Favourite

Share it with your friends

Suggested Materials

Leave your Comments

Contributors

Sindhiya Raj
Sindhiya Raj
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