Interactive computer graphics : a top-down approach with OpenGL

書誌事項

Interactive computer graphics : a top-down approach with OpenGL

Edward Angel

Addison Wesley, c2003

3rd ed

タイトル別名

Interactive computer graphics : a top-down approach using OpenGL

大学図書館所蔵 件 / 9

この図書・雑誌をさがす

注記

Includes bibliographical references (p. 699-706) and indexes

内容説明・目次

内容説明

Interactive Computer Graphics features a top-down, programming-oriented approach to computer graphics. Capitalizing upon this top-down and hands-on approach, the text quickly gets students writing interesting 3D graphics programs. Angel uses OpenGL, a graphics library supported by most workstations, and the C++ programming language, allowing students to be aware of what is happening at the lowest levels of computer-graphics programming. Each chapter is built around applications, with key principles and techniques explained as needed and in increasing detail, teaching students by example and by practice. While emphasizing applications programming, the book covers all topics required for a fundamental courses in computer graphics, such as light-material interactions, shading, modeling, curves and surfaces, antialiasing, texture mapping, and compositing, as well as hardware issues. The top-down approach taken in this book enables students studying computer science and engineering to generate complex interactive applications by the end of their first course, and will give them a solid background for future work or study in computer graphics.

目次

1. Graphics Systems and Models. Applications of Computer Graphics. Display of Information. Design. Simulation. User Interfaces. A Graphics System. Pixels and the Frame Buffer. Output Devices. Input Devices. Images: Physical and Synthetic. Objects and Viewers. Light and Images. Ray Tracing. The Human Visual System. The Pinhole Camera. The Synthetic-Camera Model. The Programmer's Interface. Application Programmer's Interfaces. The Pen-Plotter Model. Three-dimensional APIs. A Sequence of Images. The Modeling{Rendering Paradigm. Graphics Architectures. Display Processors. Pipeline Architectures. Transformations. Clipping. Projection. Rasterization. Performance Characteristics. Summary. Suggested Readings. Exercises. 2. Graphics Programming. The Sierpinski Gasket. Programming Two-dimensional Applications. Coordinate Systems. The OpenGL API. Graphics Functions. The Graphics Pipeline and State Machines. The OpenGL Interface. Primitives and Attributes. Polygon Basics. Polygon Types in OpenGL. Drawing a Sphere. Text. Curved Objects. Attributes. Color. RGB Color. Indexed Color. Setting of Color Attributes. Viewing. Two-Dimensional Viewing. The Orthographic View. Matrix Modes. Control Functions. Interaction with the Window System. Aspect Ratio and Viewports. The main, display, and myinit Functions. Program Structure. The Gasket Program. Polygons and Recursion. The Three-Dimensional Gasket. Use of Three-Dimensional Points. Use of Polygons in Three Dimensions. Hidden-Surface Removal. Summary. Suggested Readings. Exercises. 3. Input and Interaction. Interaction. Input Devices. Physical Input Devices. Logical Devices. Measure and Trigger. Input Modes. Clients and Servers. Display Lists. Definition and Execution of Display Lists. Text and Display Lists. Fonts in GLUT. Programming Event-Driven Input. Using the Pointing Device. Window Events. Keyboard Events. The Display and Idle Callbacks. Window Management. Menus. Picking. Picking and Selection Mode. A Simple Paint Program. Animating Interactive Programs. The Rotating Square. Double Buffering. Other Buffering Problems. Design of Interactive Programs. Toolkits, Widgets, and the Frame Buffer. Logic Operations. Drawing Erasable Lines. XOR and Color. Cursors and Overlay Planes. Summary. Suggested Readings. Exercises. 4. Geometric Objects and Transformations. Scalars, Points, and Vectors. The Geometric View. Coordinate-free Geometry. The Mathematical View: Vector and Affine Spaces. The Computer-Science View. Geometric ADTs. Lines. Affine Sums. Convexity. Dot and Cross Products. Planes. Three-Dimensional Primitives. Coordinate Systems and Frames. Representations and N-tuples. Changes of Coordinate Systems. Example of Change of Representation. Homogeneous Coordinates. Example of Change in Frames. Working with Representations. Frames and ADTs. Frames in OpenGL. Modeling a Colored Cube. Modeling of a Cube. Inward- and Outward-Pointing Faces. Data Structures for Object Representation. The Color Cube. Bilinear Interpolation. Vertex Arrays. Affine Transformations. Rotation, Translation, and Scaling. Translation. Rotation. Scaling. Transformations in Homogeneous Coordinates. Translation. Scaling. Rotation. Shear. Concatenation of Transformations. Rotation About a Fixed Point. General Rotation. The Instance Transformation. Rotation About an Arbitrary Axis. OpenGL Transformation Matrices. The Current Transformation Matrix. Rotation, Translation, and Scaling. Rotation About a Fixed Point in OpenGL. Order of Transformations. Spinning of the Cube. Loading, Pushing, and Popping Matrices. Interfaces to Three-Dimensional Applications. Using Areas of the Screen. A Virtual Trackball. Smooth Rotations. Incremental Rotation. Summary. Suggested Readings. Exercises. 5. Viewing. Classical and Computer Viewing. Classical Viewing. Orthographic Projections. Axonometric Projections. Oblique Projections. Perspective Viewing. Viewing with a Computer. Positioning of the Camera. Positioning of the Camera Frame. Two Viewing APIs. The Look-At Function. Other Viewing APIs. Simple Projections. Perspective Projections. Orthogonal Projections. Projections in OpenGL. Perspective in OpenGL. Parallel Viewing in OpenGL. Hidden-Surface Removal. Culling. Walking Through a Scene. Parallel-Projection Matrices. Projection Normalization. Orthogonal-Projection Matrices. Oblique Projections. Perspective-Projection Matrices. Perspective Normalization. OpenGL Perspective Transformations. Projections and Shadows. Summary. Suggested Readings. Exercises. 6. Shading. Light and Matter. Light Sources. Color Sources. Ambient Light. Point Sources. Spotlights. Distant Light Sources. The Phong Reflection Model. Ambient Reflection. Diffuse Reflection. Specular Reflection. Computation of Vectors. Normal Vectors. Angle of Reflection. Use of the Halfway Vector. Transmitted Light. Polygonal Shading. Flat Shading. Interpolative and Gouraud Shading. Phong Shading. Approximation of a Sphere by Recursive Subdivision. Light Sources in OpenGL. Specification of Materials in OpenGL. Shading of the Sphere Model. Global Rendering. Summary. Suggested Readings. Exercises. 7. Discrete Techniques. Buffers. Digital Images. Writes into Buffers. Writing Modes. Writes with XOR. Bit and Pixel Operations in OpenGL. OpenGL Buffers and the Pixel Pipeline. Bitmaps. Raster Fonts. Pixels and Images. Lookup Tables. Buffers for Picking. Mapping Methods. Texture Mapping. Two-Dimensional Texture Mapping. Texture Mapping in OpenGL. Texture Objects. Multitexturing. Texture Generation. Environmental Maps. Bump Maps. Compositing Techniques. Opacity and Blending. Image Compositing. Blending and Compositing in OpenGL. Antialiasing. Back-to-Front and Front-to-Back Rendering. Depth Cueing and Fog. Multirendering and the Accumulation Buffer. Scene Antialiasing. Bump Mapping and Embossing. Image processing. Imaging Extensions. Other Multipass Methods. Sampling and Aliasing. Sampling Theory. Reconstruction. Quantization. Summary. Suggested Readings. Exercises. 8. Implementation of a Renderer. Basic Implementation Strategies. Four Major Tasks. Modeling. Geometric Processing. Rasterization. Display. Implementation of Transformations. Line-Segment Clipping. Cohen-Sutherland Clipping. Liang-Barsky Clipping. Polygon Clipping. Clipping of Other Primitives. Bounding Boxes and Volumes. Curves, Surfaces, and Text. Clipping in the Frame Buffer. Clipping in Three Dimensions. Hidden-Surface Removal. Object-Space and Image-Space Approaches. Sorting and Hidden-Surface Removal. Back-Face Removal. The z -Buffer Algorithm. Depth Sort and the Painter's Algorithm. The Scan-Line Algorithm. Scan Conversion. Bresenham's Algorithm. Scan Conversion of Polygons. Inside{Outside Testing. OpenGL and Concave Polygons. Scan Conversion with the z -Buffer. Fill and Sort. Flood Fill. Scan-Line Algorithms. Singularities. Antialiasing. Display Considerations. Color Systems. The Color Matrix. Gamma Correction. Dithering and Halftoning. Summary. References. Exercises. 9. Hierarchical and Object-Oriented Modeling. Symbols and Instances. Hierarchical Models. A Robot Arm. Trees and Traversal. A Stack-Based Traversal. Use of Tree Data Structures. Animation. Graphical Objects. Methods, Attributes, and Messages. A Cube Object. Implementing the Cube Object. Objects and Hierarchy. Geometric Objects. Scene Graphs. A Simple Scene Graph API. The Node Class. Geometry Nodes. Camera Class. Lights and Materials. Transformations. The Robot Figure. Implementing the Viewer. Implementing a Node. Other Tree Structures. CSG Trees. Shade Trees. BSP Trees. Quadtrees and Octrees. Graphics and the Web. Networks and Protocols. Hypermedia and HTML. Databases and VRML. JAVA and Applets. Summary. Suggested Readings. Exercises. 10. Curves and Surfaces. Representation of Curves and Surfaces. Explicit Representation. Implicit Representations. Parametric Form. Parametric Polynomial Curves. Parametric Polynomial Surfaces. Design Criteria. Parametric Cubic Polynomial Curves. Interpolation. Blending Functions. The Cubic Interpolating Patch. Hermite Curves and Surfaces. The Hermite Form. Geometric and Parametric Continuity. Bezier Curves and Surfaces. Bezier Curves. Bezier Surface Patches. Cubic B-Splines. The Cubic B-Spline Curve. B-Splines and Basis. Spline Surfaces. General B-Splines. Recursively De_ned B-splines. Uniform Splines. Nonuniform B-Splines. NURBS. Rendering of Curves and Surfaces. Polynomial Evaluation Methods. Recursive Subdivision of Bezier Polynomials. Rendering of Other Polynomial Curves by Subdivision. Subdivision of Bezier Surfaces. The Utah Teapot. Algebraic Surfaces. Quadrics. Rendering of Surfaces by Ray Casting. Subdivision Curves and Surfaces. Curves and Surfaces in OpenGL. Bezier Curves. Bezier Surfaces. Displaying the Teapot. NURBS Functions. Quadrics. Summary. References. Exercises. 11. Procedural Methods. Reasons for Using Procedural Models. Physically Based Models and Particle Systems. Newtonian Particles. Independent Particles. Spring Forces. Attractive and Repulsive Forces. Solving Particle Systems. Constraints. Collisions. Particles Inside a Sphere. Soft Constraints. Language-Based Models. Recursive Methods and Fractals. Rulers and Length. Fractal Dimension. Midpoint Division and Brownian Motion. Fractal Mountains. The Mandelbrot Set. Summary. Suggested Readings. Exercises. 12. Visualization. Data + Geometry. Height Fields and Contours. Meshes. Contour Plots. Marching Squares. Visualizing Surfaces and Scalar Fields. Volumetric Data Sets. Visualization of Implicit Functions. Isosurfaces and Marching Cubes. Mesh Simplification. Direct Volume Rendering. Assignment of Color and Opacity. Splatting. Volume Ray Tracing. Texture Mapping of Volumes. Vector-Field Visualization. Hedgehogs. Glyphs. Color. Particle Traces and Streamlines. Tensor Visualization. Summary. Suggested Readings. Exercises. 13. Advanced Rendering. Going Beyond Real-Time Rendering. Ray Tracing. The Rendering Equation. Radiosity. Renderman. Large-Scale Rendering. Image-Based Rendering. Summary. Suggested Readings. Exercises.

「Nielsen BookData」 より

詳細情報

  • NII書誌ID(NCID)
    BA5909002X
  • ISBN
    • 0201773430
  • LCCN
    2002074555
  • 出版国コード
    us
  • タイトル言語コード
    eng
  • 本文言語コード
    eng
  • 出版地
    Boston ; Tokyo
  • ページ数/冊数
    xxx, 719 p.
  • 大きさ
    24 cm
  • 付属資料
    1 computer optical disc
ページトップへ