Interactive Computer Graphics.

Angel, Edward.

Interactive Computer Graphics. - 5th ed. - 1 online resource (861 pages)

Cover -- Contents -- Preface -- CHAPTER 1 GRAPHICS SYSTEMS AND MODELS -- 1.1 Applications of Computer Graphics -- 1.1.1 Display of Information -- 1.1.2 Design -- 1.1.3 Simulation and Animation -- 1.1.4 User Interfaces -- 1.2 A Graphics System -- 1.2.1 Pixels and the Frame Buffer -- 1.2.2 Output Devices -- 1.2.3 Input Devices -- 1.3 Images: Physical and Synthetic -- 1.3.1 Objects and Viewers -- 1.3.2 Light and Images -- 1.3.3 Image Formation Models -- 1.4 Imaging Systems -- 1.4.1 The Pinhole Camera -- 1.4.2 The Human Visual System -- 1.5 The Synthetic-Camera Model -- 1.6 The Programmer's Interface -- 1.6.1 The Pen-Plotter Model -- 1.6.2 Three-Dimensional APIs -- 1.6.3 A Sequence of Images -- 1.6.4 The Modeling-Rendering Paradigm -- 1.7 Graphics Architectures -- 1.7.1 Display Processors -- 1.7.2 Pipeline Architectures -- 1.7.3 The Graphics Pipeline -- 1.7.4 Vertex Processing -- 1.7.5 Clipping and Primitive Assembly -- 1.7.6 Rasterization -- 1.7.7 Fragment Processing -- 1.8 Programmable Pipelines -- 1.9 Performance Characteristics -- Summary and Notes -- Suggested Readings -- Exercises -- CHAPTER 2 GRAPHICS PROGRAMMING -- 2.1 The Sierpinski Gasket -- 2.2 Programming Two-Dimensional Applications -- 2.2.1 Coordinate Systems -- 2.3 The OpenGL API -- 2.3.1 Graphics Functions -- 2.3.2 The Graphics Pipeline and State Machines -- 2.3.3 The OpenGL Interface -- 2.4 Primitives and Attributes -- 2.4.1 Polygon Basics -- 2.4.2 Polygon Types in OpenGL -- 2.4.3 Approximating a Sphere -- 2.4.4 Text -- 2.4.5 Curved Objects -- 2.4.6 Attributes -- 2.5 Color -- 2.5.1 RGB Color -- 2.5.2 Indexed Color -- 2.5.3 Setting of Color Attributes -- 2.6 Viewing -- 2.6.1 The Orthographic View -- 2.6.2 Two-Dimensional Viewing -- 2.6.3 Matrix Modes -- 2.7 Control Functions -- 2.7.1 Interaction with the Window System -- 2.7.2 Aspect Ratio and Viewports. 2.7.3 The main, display, and myinit Functions -- 2.7.4 Program Structure -- 2.8 The Gasket Program -- 2.9 Polygons and Recursion -- 2.10 The Three-Dimensional Gasket -- 2.10.1 Use of Three-Dimensional Points -- 2.10.2 Use of Polygons in Three Dimensions -- 2.10.3 Hidden-Surface Removal -- 2.11 Plotting Implicit Functions -- 2.11.1 Marching Squares -- Summary and Notes -- Suggested Readings -- Exercises -- CHAPTER 3 INPUT AND INTERACTION -- 3.1 Interaction -- 3.2 Input Devices -- 3.2.1 Physical Input Devices -- 3.2.2 Logical Devices -- 3.2.3 Input Modes -- 3.3 Clients and Servers -- 3.4 Display Lists -- 3.4.1 Definition and Execution of Display Lists -- 3.4.2 Text and Display Lists -- 3.4.3 Fonts in GLUT -- 3.5 Display Lists and Modeling -- 3.6 Programming Event-Driven Input -- 3.6.1 Using the Pointing Device -- 3.6.2 Window Events -- 3.6.3 Keyboard Events -- 3.6.4 The Display and Idle Callbacks -- 3.6.5 Window Management -- 3.7 Menus -- 3.8 Picking -- 3.8.1 Picking and Selection Mode -- 3.9 A Simple CAD Program -- 3.10 Building Interactive Models -- 3.11 Animating Interactive Programs -- 3.11.1 The Rotating Square -- 3.11.2 Double Buffering -- 3.11.3 Using a Timer -- 3.12 Design of Interactive Programs -- 3.12.1 Toolkits, Widgets, and the Frame Buffer -- 3.13 Logic Operations -- 3.13.1 Drawing Erasable Lines -- 3.13.2 XOR and Color -- 3.13.3 Cursors and Overlay Planes -- Summary and Notes -- Suggested Readings -- Exercises -- CHAPTER 4 GEOMETRIC OBJECTS AND TRANSFORMATIONS -- 4.1 Scalars, Points, and Vectors -- 4.1.1 Geometric Objects -- 4.1.2 Coordinate-Free Geometry -- 4.1.3 The Mathematical View: Vector and Affine Spaces -- 4.1.4 The Computer Science View -- 4.1.5 Geometric ADTs -- 4.1.6 Lines -- 4.1.7 Affine Sums -- 4.1.8 Convexity -- 4.1.9 Dot and Cross Products -- 4.1.10 Planes -- 4.2 Three-Dimensional Primitives. 4.3 Coordinate Systems and Frames -- 4.3.1 Representations and N-Tuples -- 4.3.2 Change of Coordinate Systems -- 4.3.3 Example Change of Representation -- 4.3.4 Homogeneous Coordinates -- 4.3.5 Example Change in Frames -- 4.3.6 Working with Representations -- 4.4 Frames in OpenGL -- 4.5 Modeling a Colored Cube -- 4.5.1 Modeling the Faces -- 4.5.2 Inward- and Outward-Pointing Faces -- 4.5.3 Data Structures for Object Representation -- 4.5.4 The Color Cube -- 4.5.5 Bilinear Interpolation -- 4.5.6 Vertex Arrays -- 4.6 Affine Transformations -- 4.7 Translation, Rotation, and Scaling -- 4.7.1 Translation -- 4.7.2 Rotation -- 4.7.3 Scaling -- 4.8 Transformations in Homogeneous Coordinates -- 4.8.1 Translation -- 4.8.2 Scaling -- 4.8.3 Rotation -- 4.8.4 Shear -- 4.9 Concatenation of Transformations -- 4.9.1 Rotation About a Fixed Point -- 4.9.2 General Rotation -- 4.9.3 The Instance Transformation -- 4.9.4 Rotation About an Arbitrary Axis -- 4.10 OpenGL Transformation Matrices -- 4.10.1 The Current Transformation Matrix -- 4.10.2 Rotation, Translation, and Scaling -- 4.10.3 Rotation About a Fixed Point in OpenGL -- 4.10.4 Order of Transformations -- 4.10.5 Spinning of the Cube -- 4.10.6 Loading, Pushing, and Popping Matrices -- 4.11 Interfaces to Three-Dimensional Applications -- 4.11.1 Using Areas of the Screen -- 4.11.2 A Virtual Trackball -- 4.11.3 Smooth Rotations -- 4.11.4 Incremental Rotation -- 4.12 Quaternions -- 4.12.1 Complex Numbers and Quaternions -- 4.12.2 Quaternions and Rotation -- Summary and Notes -- Suggested Readings -- Exercises -- CHAPTER 5 VIEWING -- 5.1 Classical and Computer Viewing -- 5.1.1 Classical Viewing -- 5.1.2 Orthographic Projections -- 5.1.3 Axonometric Projections -- 5.1.4 Oblique Projections -- 5.1.5 Perspective Viewing -- 5.2 Viewing with a Computer -- 5.3 Positioning of the Camera. 5.3.1 Positioning of the Camera Frame -- 5.3.2 Two Viewing APIs -- 5.3.3 The Look-At Function -- 5.3.4 Other Viewing APIs -- 5.4 Simple Projections -- 5.4.1 Perspective Projections -- 5.4.2 Orthogonal Projections -- 5.5 Projections in OpenGL -- 5.5.1 Perspective in OpenGL -- 5.5.2 Parallel Viewing in OpenGL -- 5.6 Hidden-Surface Removal -- 5.6.1 Culling -- 5.7 Interactive Mesh Displays -- 5.7.1 Meshes -- 5.7.2 Walking Through a Scene -- 5.7.3 Polygon Offset -- 5.8 Parallel-Projection Matrices -- 5.8.1 Projection Normalization -- 5.8.2 Orthogonal-Projection Matrices -- 5.8.3 Oblique Projections -- 5.9 Perspective-Projection Matrices -- 5.9.1 Perspective Normalization -- 5.9.2 OpenGL Perspective Transformations -- 5.10 Projections and Shadows -- Summary and Notes -- Suggested Readings -- Exercises -- CHAPTER 6 LIGHTING AND SHADING -- 6.1 Light and Matter -- 6.2 Light Sources -- 6.2.1 Color Sources -- 6.2.2 Ambient Light -- 6.2.3 Point Sources -- 6.2.4 Spotlights -- 6.2.5 Distant Light Sources -- 6.3 The Phong Lighting Model -- 6.3.1 Ambient Reflection -- 6.3.2 Diffuse Reflection -- 6.3.3 Specular Reflection -- 6.3.4 The Modified Phong Model -- 6.4 Computation of Vectors -- 6.4.1 Normal Vectors -- 6.4.2 Angle of Reflection -- 6.5 Polygonal Shading -- 6.5.1 Flat Shading -- 6.5.2 Smooth and Gouraud Shading -- 6.5.3 Phong Shading -- 6.6 Approximation of a Sphere by Recursive Subdivision -- 6.7 Light Sources in OpenGL -- 6.8 Specification of Materials in OpenGL -- 6.9 Shading of the Sphere Model -- 6.10 Global Illumination -- Summary and Notes -- Suggested Readings -- Exercises -- CHAPTER 7 FROM VERTICES TO FRAGMENTS -- 7.1 Basic Implementation Strategies -- 7.2 Four Major Tasks -- 7.2.1 Modeling -- 7.2.2 Geometry Processing -- 7.2.3 Rasterization -- 7.2.4 Fragment Processing -- 7.3 Clipping -- 7.4 Line-Segment Clipping -- 7.4.1 Cohen-Sutherland Clipping. 7.4.2 Liang-Barsky Clipping -- 7.5 Polygon Clipping -- 7.6 Clipping of Other Primitives -- 7.6.1 Bounding Boxes and Volumes -- 7.6.2 Curves, Surfaces, and Text -- 7.6.3 Clipping in the Frame Buffer -- 7.7 Clipping in Three Dimensions -- 7.8 Rasterization -- 7.9 Bresenham's Algorithm -- 7.10 Polygon Rasterization -- 7.10.1 Inside-Outside Testing -- 7.10.2 OpenGL and Concave Polygons -- 7.10.3 Fill and Sort -- 7.10.4 Flood Fill -- 7.10.5 Singularities -- 7.11 Hidden-Surface Removal -- 7.11.1 Object-Space and Image-Space Approaches -- 7.11.2 Sorting and Hidden-Surface Removal -- 7.11.3 ScanLine Algorithms -- 7.11.4 Back-Face Removal -- 7.11.5 The z-Buffer Algorithm -- 7.11.6 Scan Conversion with the z-Buffer -- 7.11.7 Depth Sort and the Painter's Algorithm -- 7.12 Antialiasing -- 7.13 Display Considerations -- 7.13.1 Color Systems -- 7.13.2 The Color Matrix -- 7.13.3 Gamma Correction -- 7.13.4 Dithering and Halftoning -- Summary and Notes -- Suggested Readings -- Exercises -- CHAPTER 8 DISCRETE TECHNIQUES -- 8.1 Buffers -- 8.2 Digital Images -- 8.3 Writing into Buffers -- 8.3.1 Writing Modes -- 8.3.2 Writes with XOR -- 8.4 Bit and Pixel Operations in OpenGL -- 8.4.1 OpenGL Buffers and the Pixel Pipeline -- 8.4.2 Bitmaps -- 8.4.3 Raster Fonts -- 8.4.4 Pixels and Images -- 8.4.5 Lookup Tables -- 8.5 Examples -- 8.5.1 Displaying a Color Gamut -- 8.5.2 Testing Algorithms -- 8.5.3 Buffers for Picking -- 8.6 Mapping Methods -- 8.7 Texture Mapping -- 8.7.1 Two-Dimensional Texture Mapping -- 8.8 Texture Mapping in OpenGL -- 8.8.1 Two-Dimensional Texture Mapping -- 8.8.2 Texture Sampling -- 8.8.3 Working with Texture Coordinates -- 8.8.4 Texture Objects -- 8.8.5 Multitexturing -- 8.9 Texture Generation -- 8.10 Environment Maps -- 8.11 Compositing Techniques -- 8.11.1 Opacity and Blending -- 8.11.2 Image Compositing -- 8.11.3 Blending and Compositing in OpenGL. 8.11.4 Antialiasing Revisited.

9788131739532


Electronic books.

006.6
Powered by Koha ILS
Page Design & Customization: Library Web Team CE Thalassery