Computer Graphics with Open GL

Pearson New International Edition

Versandkostenfrei!
Versandfertig in 2-4 Wochen
104,99 €
inkl. MwSt.
Weitere Ausgaben:
PAYBACK Punkte
52 °P sammeln!
For junior- to graduate-level courses in computer graphics. Assuming no background in computer graphics, this junior- to graduate-level textbook presents basic principles for the design, use, and understanding of computer graphics systems and applications. The authors, authorities in their field, offer an integrated approach to two-dimensional and three-dimensional graphics topics. A comprehensive explanation of the popular OpenGL programming package, along with C++ programming examples illustrates applications of the various functions in the OpenGL basic library and the related GLU and GLUT packages.

Features + Benefits

Complete and comprehensive discussion of the OpenGL computer graphics programming library.
Provides a large and efficient collection of device independent functions for creating graphics with a general-purpose language.

Revised content—Brings the text up-to-date with current advances in computer graphics technology and applications.
Keeps students on the “cutting edge” of computer graphics technology.

2D and 3D topics are combined.
This integration provides a much more productive organization for teaching 3D graphics.

Key topics—Animation, object representation, 3D viewing pipeline, illuminations models, surface-rendering technique, and texture mapping are expanded and updated.
Gives users thorough, state-of-the-art coverage.

All programming examples in C++.
Gives students and teachers over 120 reusable C++ programs for instruction and programming.

Detailed discussions on a variety of mathematical methods used in graphic algorithms—Appear in the appendix.
Students can use the appendix to review advanced mathematical methods.

Thorough coverage of 3-D modeling and rendering.

An exploration of algorithms for creating and manipulating graphics displays and techniques for implementation.

Coverage of topics such as distributed ray tracing, radiosity, physically based modeling, particle systems and visualization techniques.
Gives students a broad knowledge base.

Accessible writing style.
Draws students into the text.

Preface xxi
About the Authors xxvi
1 Computer Graphics Hardware 9
1-1 Video Display Devices 10
Refresh Cathode-Ray Tubes 10
Raster-Scan Displays 13
Random-Scan Displays 15
Color CRT Monitors 16
Flat-Panel Displays 18
Three-Dimensional Viewing Devices 20
Stereoscopic and Virtual-Reality Systems 21
1-2 Raster-Scan Systems 22
Video Controller 22
Raster-Scan Display Processor 24
1-3 GraphicsWorkstations and Viewing Systems 25
1-4 Input Devices 26
Keyboards, Button Boxes, and Dials 26
Mouse Devices 26
Trackballs and Spaceballs 27
Joysticks 27
Data Gloves 28
Digitizers 28
Image Scanners 29
Touch Panels 29
Light Pens 30
Voice Systems 30
1-5 Hard-Copy Devices 30
1-6 Graphics Networks 32
1-7 Graphics on the Internet 32
1-8 Summary 33

2 Computer Graphics
Software 35
2-1 Coordinate Representations 36
2-2 Graphics Functions 37
2-3 Software Standards 38
2-4 Other Graphics Packages 39
2-5 Introduction to OpenGL 40
Basic OpenGL Syntax 40
Related Libraries 40
Header Files 41
Display-Window Management Using GLUT 42
A Complete OpenGL Program 43
Error Handling in OpenGL 47
2-6 Summary 48

3 Graphics Output Primitives 51
3-1 Coordinate Reference Frames 52
Screen Coordinates 52
Absolute and Relative Coordinate Specifications 53
3-2 Specifying A Two-Dimensional World-Coordinate Reference Frame in OpenGL 54
3-3 OpenGL Point Functions 55
3-4 OpenGL Line Functions 57
3-5 OpenGL Curve Functions 58
3-6 Fill-Area Primitives 59
3-7 Polygon Fill Areas 60
Polygon Classifications 61
Identifying Concave Polygons 61
Splitting Concave Polygons 62
Splitting a Convex Polygon into a Setof Triangles 63
Inside-Outside Tests 63
Polygon Tables 66
Plane Equations 67
Front and Back Polygon Faces 68
3-8 OpenGL Polygon Fill-Area Functions 70
3-9 OpenGL Vertex Arrays 76
3-10 Pixel-Array Primitives 78
3-11 OpenGL Pixel-Array Functions 79
OpenGL Bitmap Function 79
OpenGL Pixmap Function 81
OpenGL Raster Operations 82
3-12 Character Primitives 83
3-13 OpenGL Character Functions 85
3-14 Picture Partitioning 86
3-15 OpenGL Display Lists 87
Creating and Naming an OpenGL Display List 87
Executing OpenGL Display Lists 88
Deleting OpenGL Display Lists 89
3-16 OpenGL Display-Window Reshape Function 89
3-17 Summary 92

4 Attributes of Graphics Primitives 105
4-1 OpenGL State Variables 106
4-2 Color and Grayscale 106
RGB Color Components 106
Color Tables 107
Grayscale 108
Other Color Parameters 109
4-3 OpenGL Color Functions 109
The OpenGL RGB and RGBA Color Modes 109
OpenGL Color-Index Mode 110
OpenGL Color Blending 111
OpenGL Color Arrays 112
Other OpenGL Color Functions 114
4-4 Point Attributes 115
4-5 OpenGL Point-Attribute Functions 115
4-6 Line Attributes 115
Line Width 115
Line Style 116
Pen and Brush Options 116
4-7 OpenGL Line-Attribute Functions 117
OpenGL Line-Width Function 117
OpenGL Line-Style Function 117
Other OpenGL Line Effects 119
4-8 Curve Attributes 119
4-9 Fill-Area Attributes 120
Fill Styles 120
Color-Blended Fill Regions 121
4-10 OpenGL Fill-Area Attribute Functions 121
OpenGL Fill-Pattern Function 121
OpenGL Texture and Interpolation Patterns 122
OpenGL Wire-Frame Methods 123
OpenGL Front-Face Function 126
4-11 Character Attributes 126
4-12 OpenGL Character-Attribute Functions 129
4-13 OpenGL Antialiasing Functions 129
4-14 OpenGL Query Functions 130
4-15 OpenGL Attribute Groups 131
4-16 Summary 131

5 Implementation Algorithms for Graphics Primitives and Attributes 137
5-1 Line-Drawing Algorithms 138
Line Equations 138
DDA Algorithm 139
Bresenham’s Line Algorithm 140
Displaying Polylines 144
5-2 Parallel Line Algorithms 144
5-3 Setting Frame-Buffer Values 146
5-4 Circle-Generating Algorithms 147
Properties of Circles 147
Midpoint Circle Algorithm 149
5-5 Ellipse-Generating Algorithms 153
Properties of Ellipses 153
Midpoint Ellipse Algorithm 154
5-6 Other Curves 160
Conic Sections 161
Polynomials and Spline Curves 162
5-7 Parallel Curve Algorithms 163
5-8 Pixel Addressing and Object Geometry 163
Screen Grid Coordinates 164
Maintaining Geometric Properties of Displayed Objects 164
5-9 Attribute Implementations for Straight-Line Segments and Curves 166
Line Width 166
Line Style 168
Pen and Brush Options 169
Curve Attributes 170
5-10 General Scan-Line Polygon-Fill Algorithm 171
5-11 Scan-Line Fill of Convex Polygons 175
5-12 Scan-Line Fill for Regions with Curved Boundaries 176
5-13 Fill Methods for Areas with Irregular Boundaries 176
Boundary-Fill Algorithm 176
Flood-Fill Algorithm 180
5-14 Implementation Methods for Fill Styles 180
Fill Styles 181
Color-Blended Fill Regions 181
5-15 Implementation Methods for Antialiasing 183
Supersampling Straight-Line Segments 184
Subpixel Weighting Masks 186
Area Sampling Straight-Line Segments 186
Filtering Techniques 186
Pixel Phasing 186
Compensating for Line-Intensity Differences 187
Antialiasing Area Boundaries 188
5-16 Summary 190

6 Two-Dimensional Geometric Transformations 195
6-1 Basic Two-Dimensional Geometric Transformations 196
Two-Dimensional Translation 196
Two-Dimensional Rotation 198
Two-Dimensional Scaling 200
6-2 Matrix Representations and
Homogeneous Coordinates 201
Homogeneous Coordinates 202
Two-Dimensional Translation Matrix 203
Two-Dimensional Rotation Matrix 203
Two-Dimensional Scaling Matrix 203
6-3 Inverse Transformations 204
6-4 Two-Dimensional Composite Transformations 204
Composite Two-Dimensional
Translations 205
Composite Two-Dimensional Rotations 205
Composite Two-Dimensional Scalings 205
General Two-Dimensional Pivot-Point Rotation 206
General Two-Dimensional Fixed-Point Scaling 206
General Two-Dimensional Scaling Directions 207
Matrix Concatenation Properties 208
General Two-Dimensional Composite Transformations and Computational Efficiency 209
Two-Dimensional Rigid-Body Transformation 210
Constructing Two-Dimensional Rotation Matrices 211
Two-Dimensional Composite-Matrix Programming Example 211
6-5 Other Two-Dimensional Transformations 216
Reflection 216
Shear 218
6-6 Raster Methods for Geometric Transformations 220
6-7 OpenGL Raster Transformations 221
6-8 Transformations between Two-Dimensional Coordinate Systems 222
6-9 OpenGL Functions for Two-Dimensional
Geometric Transformations 224
Basic OpenGL Geometric Transformations 224
OpenGL Matrix Operations 226
-10 OpenGL Geometric-Transformation Programming Examples 228
6-11 Summary 229

7 Two-Dimensional Viewing 233
7-1 The Two-Dimensional Viewing Pipeline 234
7-2 The ClippingWindow 235
Viewing-Coordinate Clipping Window 236
World-Coordinate Clipping Window 236
7-3 Normalization and Viewport Transformations 237
Mapping the Clipping Window into a Normalized Viewport 237
Mapping the Clipping Window into a Normalized Square 239
Display of Character Strings 241
Split-Screen Effects and Multiple Output Devices 241
7-4 OpenGL Two-Dimensional Viewing Functions 241
OpenGL Projection Mode 241
GLU Clipping-Window Function 242
OpenGL Viewport Function 242
Creating a GLUT Display Window 243
Setting the GLUT Display-Window Mode and Color 244
GLUT Display-Window Identifier 244
Deleting a GLUT Display Window 2