Ramdan Hours:
Sun - Thu
9.30 AM - 2.30 PM
Iftar in --:--:--
🌙 Maghrib: --:--

Computer graphics with OpenGL /

Hearn, Donald.

Computer graphics with OpenGL / Hearn, Donald. - Fourth Edition. - xxvi, 862 [16] pages. : illustrations ; 26 cm.

Includes bibliographical references (p. 813-824) and index.

Preface xxiAbout the Authors xxvi1 A Survey of Computer Graphics 11-1 Graphs and Charts 21-2 Computer-Aided Design 21-3 Virtual-Reality Environments 41-4 Data Visualizations 41-5 Education and Training 51-6 Computer Art 51-7 Entertainment 61-8 Image Processing 71-9 Graphical User Interfaces 71-10 Summary 82 Computer Graphics Hardware 92-1 Video Display Devices 10Refresh Cathode-Ray Tubes 10Raster-Scan Displays 13Random-Scan Displays 15Color CRT Monitors 16Flat-Panel Displays 18Three-Dimensional Viewing Devices 20Stereoscopic and Virtual-Reality Systems 212-2 Raster-Scan Systems 22Video Controller 22Raster-Scan Display Processor 242-3 GraphicsWorkstations and Viewing Systems 252-4 Input Devices 26Keyboards, Button Boxes, and Dials 26Mouse Devices 26Trackballs and Spaceballs 27Joysticks 27Data Gloves 28Digitizers 28Image Scanners 29Touch Panels 29Light Pens 30Voice Systems 302-5 Hard-Copy Devices 302-6 Graphics Networks 322-7 Graphics on the Internet 322-8 Summary 333 Computer GraphicsSoftware 353-1 Coordinate Representations 363-2 Graphics Functions 373-3 Software Standards 383-4 Other Graphics Packages 393-5 Introduction to OpenGL 40Basic OpenGL Syntax 40Related Libraries 40Header Files 41Display-Window Management Using GLUT 42A Complete OpenGL Program 43Error Handling in OpenGL 473-6 Summary 484 Graphics Output Primitives 514-1 Coordinate Reference Frames 52Screen Coordinates 52Absolute and Relative Coordinate Specifications 534-2 Specifying A Two-Dimensional World-Coordinate Reference Frame in OpenGL 544-3 OpenGL Point Functions 554-4 OpenGL Line Functions 574-5 OpenGL Curve Functions 584-6 Fill-Area Primitives 594-7 Polygon Fill Areas 60Polygon Classifications 61Identifying Concave Polygons 61Splitting Concave Polygons 62Splitting a Convex Polygon into a Setof Triangles 63Inside-Outside Tests 63Polygon Tables 66Plane Equations 67Front and Back Polygon Faces 684-8 OpenGL Polygon Fill-Area Functions 704-9 OpenGL Vertex Arrays 764-10 Pixel-Array Primitives 784-11 OpenGL Pixel-Array Functions 79OpenGL Bitmap Function 79OpenGL Pixmap Function 81OpenGL Raster Operations 824-12 Character Primitives 834-13 OpenGL Character Functions 854-14 Picture Partitioning 864-15 OpenGL Display Lists 87Creating and Naming an OpenGL Display List 87Executing OpenGL Display Lists 88Deleting OpenGL Display Lists 894-16 OpenGL Display-Window Reshape Function 894-17 Summary 925 Attributes of Graphics Primitives 1055-1 OpenGL State Variables 1065-2 Color and Grayscale 106RGB Color Components 106Color Tables 107Grayscale 108Other Color Parameters 1095-3 OpenGL Color Functions 109The OpenGL RGB and RGBA Color Modes 109OpenGL Color-Index Mode 110OpenGL Color Blending 111OpenGL Color Arrays 112Other OpenGL Color Functions 1145-4 Point Attributes 1155-5 OpenGL Point-Attribute Functions 1155-6 Line Attributes 115Line Width 115Line Style 116Pen and Brush Options 1165-7 OpenGL Line-Attribute Functions 117OpenGL Line-Width Function 117OpenGL Line-Style Function 117Other OpenGL Line Effects 1195-8 Curve Attributes 1195-9 Fill-Area Attributes 120Fill Styles 120Color-Blended Fill Regions 1215-10 OpenGL Fill-Area Attribute Functions 121OpenGL Fill-Pattern Function 121OpenGL Texture and Interpolation Patterns 122OpenGL Wire-Frame Methods 123OpenGL Front-Face Function 1265-11 Character Attributes 1265-12 OpenGL Character-Attribute Functions 1295-13 OpenGL Antialiasing Functions 1295-14 OpenGL Query Functions 1305-15 OpenGL Attribute Groups 1315-16 Summary 1316 Implementation Algorithms for Graphics Primitives and Attributes 1376-1 Line-Drawing Algorithms 138Line Equations 138DDA Algorithm 139Bresenham's Line Algorithm 140Displaying Polylines 1446-2 Parallel Line Algorithms 1446-3 Setting Frame-Buffer Values 1466-4 Circle-Generating Algorithms 147Properties of Circles 147Midpoint Circle Algorithm 1496-5 Ellipse-Generating Algorithms 153Properties of Ellipses 153Midpoint Ellipse Algorithm 1546-6 Other Curves 160Conic Sections 161Polynomials and Spline Curves 1626-7 Parallel Curve Algorithms 1636-8 Pixel Addressing and Object Geometry 163Screen Grid Coordinates 164Maintaining Geometric Properties of Displayed Objects 1646-9 Attribute Implementations for Straight-Line Segments and Curves 166Line Width 166Line Style 168Pen and Brush Options 169Curve Attributes 1706-10 General Scan-Line Polygon-Fill Algorithm 1716-11 Scan-Line Fill of Convex Polygons 1756-12 Scan-Line Fill for Regions with Curved Boundaries 1766-13 Fill Methods for Areas with Irregular Boundaries 176Boundary-Fill Algorithm 176Flood-Fill Algorithm 1806-14 Implementation Methods for Fill Styles 180Fill Styles 181Color-Blended Fill Regions 1816-15 Implementation Methods for Antialiasing 183Supersampling Straight-Line Segments 184Subpixel Weighting Masks 186Area Sampling Straight-Line Segments 186Filtering Techniques 186Pixel Phasing 186Compensating for Line-Intensity Differences 187Antialiasing Area Boundaries 1886-16 Summary 1907 Two-Dimensional Geometric Transformations 1957-1 Basic Two-Dimensional Geometric Transformations 196Two-Dimensional Translation 196Two-Dimensional Rotation 198Two-Dimensional Scaling 2007-2 Matrix Representations andHomogeneous Coordinates 201Homogeneous Coordinates 202Two-Dimensional Translation Matrix 203Two-Dimensional Rotation Matrix 203Two-Dimensional Scaling Matrix 2037-3 Inverse Transformations 2047-4 Two-Dimensional Composite Transformations 204Composite Two-DimensionalTranslations 205Composite Two-Dimensional Rotations 205Composite Two-Dimensional Scalings 205General Two-Dimensional Pivot-Point Rotation 206General Two-Dimensional Fixed-Point Scaling 206General Two-Dimensional Scaling Directions 207Matrix Concatenation Properties 208General Two-Dimensional Composite Transformations and Computational Efficiency 209Two-Dimensional Rigid-Body Transformation 210Constructing Two-Dimensional Rotation Matrices 211Two-Dimensional Composite-Matrix Programming Example 2117-5 Other Two-Dimensional Transformations 216Reflection 216Shear 2187-6 Raster Methods for Geometric Transformations 2207-7 OpenGL Raster Transformations 2217-8 Transformations between Two-Dimensional Coordinate Systems 2227-9 OpenGL Functions for Two-DimensionalGeometric Transformations 224Basic OpenGL Geometric Transformations 224OpenGL Matrix Operations 2267-10 OpenGL Geometric-Transformation Programming Examples 2287-11 Summary 2298 Two-Dimensional Viewing 2338-1 The Two-Dimensional Viewing Pipeline 2348-2 The ClippingWindow 235Viewing-Coordinate Clipping Window 236World-Coordinate Clipping Window 2368-3 Normalization and Viewport Transformations 237Mapping the Clipping Window into a Normalized Viewport 237Mapping the Clipping Window into a Normalized Square 239Display of Character Strings 241Split-Screen Effects and Multiple Output Devices 2418-4 OpenGL Two-Dimensional Viewing Functions 241OpenGL Projection Mode 241GLU Clipping-Window Function 242OpenGL Viewport Function 242Creating a GLUT Display Window 243Setting the GLUT Display-Window Mode and Color 244GLUT Display-Window Identifier 244Deleting a GLUT Display Window 244Current GLUT Display Window 244Relocating and Resizing a GLUT Display Window 245Managing Multiple GLUT Display Windows 245GLUT Subwindows 246Selecting a Display-Window Screen-Cursor Shape 246Viewing Graphics Objects in a GLUT Display Window 247Executing the Application Program 247Other GLUT Functions 248OpenGL Two-Dimensional Viewing Program Example 2488-5 Clipping Algorithms 2508-6 Two-Dimensional Point Clipping 2508-7 Two-Dimensional Line Clipping 251 Cohen-Sutherland Line Clipping 252Liang-Barsky Line Clipping 257Nicholl-Lee-Nicholl Line Clipping 260Line Clipping Using Nonrectangular Polygon Clip Windows 262Line Clipping Using Nonlinear Clipping-Window Boundaries 2628-8 Polygon Fill-Area Clipping 263Sutherland--Hodgman Polygon Clipping 265Weiler-Atherton Polygon Clipping 269Polygon Clipping Using Nonrectangular Polygon Clip Windows 271Polygon Clipping Using Nonlinear Clipping-Window Boundaries 2728-9 Curve Clipping 2728-10 Text Clipping 2738-11 Summary 2749 Three-Dimensional Geometric Transformations 2799-1 Three-Dimensional Translation 2809-2 Three-Dimensional Rotation 281Three-Dimensional Coordinate-Axis Rotations 282General Three-Dimensional Rotations 284Quaternion Methods for Three-Dimensional Rotations 2899-3 Three-Dimensional Scaling 2939-4 Composite Three-Dimensional Transformations 2959-5 Other Three-Dimensional Transformations 298Three-Dimensional Reflections 298Three-Dimensional Shears 2999-6 Transformations between Three-Dimensional Coordinate Systems 2999-7 Affine Transformations 3009-8 OpenGL Geometric-Transformation Functions 300OpenGL Matrix Stacks 3009-9 OpenGL Three-Dimensional Geometric-Transformation Programming Examples 3029-10 Summary 30310 Three-Dimensional Viewing 30710-1 Overview of Three-Dimensional Viewing Concepts 308Viewing a Three-Dimensional Scene 308Projections 308Depth Cueing 309Identifying Visible Lines and Surfaces 309Surface Rendering 309Exploded and Cutaway Views 309Three-Dimensional and Stereoscopic Viewing 31010-2 The Three-Dimensional Viewing Pipeline 31010-3 Three-Dimensional Viewing-Coordinate Parameters 312The View-Plane Normal Vector 312The View-Up Vector 313The uvn Viewing-Coordinate Reference Frame 313Generating Three-Dimensional Viewing Effects 31410-4 Transformation fromWorld to Viewing Coordinates 31410-5 Projection Transformations 31610-6 Orthogonal Projections 316Axonometric and Isometric Orthogonal Projections 317Orthogonal Projection Coordinates 317Clipping Window and Orthogonal-Projection View Volume 318 Normalization Transformation for an Orthogonal Projection 32010-7 Oblique Parallel Projections 321Oblique Parallel Projections in Drafting and Design 322Cavalier and Cabinet Oblique Parallel Projections 323Oblique Parallel-Projection Vector 324Clipping Window and ObliqueParallel-Projection View Volume 325Oblique Parallel-Projection Transformation Matrix 325Normalization Transformation for an Oblique Parallel Projection 32610-8 Perspective Projections 327Perspective-Projection Transformation Coordinates 327Perspective-Projection Equations: Special Cases 328Vanishing Points for Perspective Projections 330Perspective-Projection View Volume 331Perspective-Projection Transformation Matrix 332Symmetric Perspective-Projection Frustum 333Oblique Perspective-Projection Frustum 335Normalized Perspective-Projection Transformation Coordinates 33810-9 The Viewport Transformation and Three- Dimensional Screen Coordinates 34110-10 OpenGL Three-Dimensional Viewing Functions 341OpenGL Viewing-Transformation Function 342OpenGL Orthogonal-Projection Function 342OpenGL Symmetric Perspective-Projection Function 344OpenGL General Perspective-Projection Function 344OpenGL Viewports and Display Windows 345OpenGL Three-Dimensional Viewing Program Example 34510-11 Three-Dimensional Clipping Algorithms 347Clipping in Three-Dimensional Homogeneous Coordinates 348Three-Dimensional Region Codes 349Three-Dimensional Point and Line Clipping 350Three-Dimensional Polygon Clipping 352Three-Dimensional Curve Clipping 353Arbitrary Clipping Planes 35310-12 OpenGL Optional Clipping Planes 355 10-13 Summary 35611 Hierarchical Modeling 35911-1 Basic Modeling Concepts 360System Representations 360Symbol Hierarchies 36111-2 Modeling Packages 36311-3

9780132484572(alk. paper) 0132484579(alk. paper)

2010042487


OpenGL.


Computer graphics.

T385 / .H395 2011

006.6 / H.D.C