1st Edition
Essentials of Interactive Computer Graphics Concepts and Implementation
This undergraduate-level computer graphics text provides the reader with conceptual and practical insights into how to approach building a majority of the interactive graphics applications they encounter daily. As each topic is introduced, students are guided in developing a software library that will support fast prototyping of moderately complex applications using a variety of APIs, including OpenGL and DirectX.
Introduction to Part I
Event-Driven Programming
Control-Driven Programming
Event-Driven Programming
Triggering and Translation of Events
Categories of Events
Servicing of Events
The Event-Driven Ball-Shooting Program
Summary
Working with GUI APIs
Our Application and Existing Libraries
GUI Elements
Building a GUI Application
Examples: FLTK and MFC
Implementation Notes
Tutorials and Code Base
A Simple Graphics Program
Coordinate Positions and Vertices
A Computer Graphics Solution
Lessons Learned
Further Examples
Working with Graphics APIs
Relationship between Graphics and GUIAPIs
Programming Graphics APIs
UnderstandingTutorials31and32
Abstraction of Graphics API
The Model-View-Controller Architecture
The Model-View-Controller Framework
Applying MVC to the Ball-Shooting Program
Expanding the Ball-Shooting Program
Interaction among the MVC Components
Applying the MVC Concept
Tutorials and Implementations
Applying to Real-World Applications
PowerPoint
Maya
II Essential Concepts: Presented in 2D
Introduction to Part II
Attributes and Behaviors of Primitives
Types of Primitives
Working with Color
Programming Geometric Primitives
Abstraction of Behavior: A Primitive Hierarchy
Collisions of Primitives
Collection of Primitives
Transformation Operators
The Translation Operator
The Scaling Operator
The Rotation Operator
Affine Transformations
Some Mathematics of the Transform Operators
Tutorials on Transformation Operators
Combining Transformation Operators
Concatenation of Operators
Inverse Transformation
Pivoted Transformations
Programming Transformations with Graphics APIs
Coordinate Systems
Understanding Tutorial
Device and Normalized Coordinate Systems
The World Coordinate System
The World Coordinate Window
Inverse Transformation
Hierarchical Modeling
Motivation
The Scene Node Class
Scene Trees and Scene Graphs
The Object Coordinate System
Simple Animation with the Scene Node Class
Making the Applications Interesting
Orientation of Objects
Alpha Blending and Transparency
File Texture Mapping
III the Third Dimension
Introduction to Part III
A Simple 3D Application
3DCoordinateSystems
The Model and the Scene
A Computer Graphics Simulation
The Camera
A Computer Graphics Camera
The Visible Volume
The Coordinate Transformation Pipeline
The World Transform: OC to WC
The Eye Transform: WC to EC
The Projection Transform: EC to NDC
3DNDC–to-2DDeviceTransform
Re-Examining Tutorial
Working with the Camera
UWBGL Camera Implementation
Working with Multiple Cameras
Manipulating the Camera
DC-to-WC Transformation
2DVersus3DCoordinateTransformationPipeline
Graphics Programming in 3D
Graphical Primitives for the Third Dimension
Rotationin3D
Orientationin3D
Simple Scene Graph in 3D
Scene Graph and Orientation
Collision in 3D
Selectionin3D
A Material and Illumination
Vectors
1 Vector Basics
2 Vector Products
3 Vector Examples
4 Orthonormal Matrices
Summary of Library Version Changes
Index
Introduction to Part I. Event-Driven Programming. Control-Driven Programming. Event-Driven Programming. Triggering and Translation of Events. Categories of Events. Servicing of Events. The Event-Driven Ball-Shooting Program. Summary. Working with GUI APIs. Our Application and Existing Libraries. GUI Elements. Building a GUI Application. Examples: FLTK and MFC. Implementation Notes. Tutorials and Code Base. A Simple Graphics Program. Coordinate Positions and Vertices. A Computer Graphics Solution. Lessons Learned. Further Examples. Working with Graphics APIs. Relationship between Graphics and GUIAPIs. Programming Graphics APIs. UnderstandingTutorials31and32. Abstraction of Graphics API. The Model-View-Controller Architecture. The Model-View-Controller Framework. Applying MVC to the Ball- Shooting Program. Expanding the Ball-Shooting Program. Interaction among the MVC Components. Applying the MVC Concept. Tutorials and Implementations. Applying to Real-World Applications. PowerPoint. Maya. II Essential Concepts: Presented in 2D. Introduction to Part II. Attributes and Behaviors of Primitives. Types of Primitives. Working with Color. Programming Geometric Primitives. Abstraction of Behavior: A Primitive Hierarchy. Collisions of Primitives. Collection of Primitives. Transformation Operators. The Translation Operator. The Scaling Operator. The Rotation Operator. Affine Transformations. Some Mathematics of the Transform Operators. Tutorials on Transformation Operators. Combining Transformation Operators. Concatenation of Operators. Inverse Transformation. Pivoted Transformations. Programming Transformations with Graphics APIs. Coordinate Systems. Understanding Tutorial. Device and Normalized Coordinate Systems. The World Coordinate System. The World Coordinate Window. Inverse Transformation. Hierarchical Modeling. Motivation. The Scene Node Class. Scene Trees and Scene Graphs. The Object Coordinate System. Simple Animation with the Scene Node Class. Making the Applications Interesting. Orientation of Objects. Alpha Blending and Transparency. File Texture Mapping. III the Third Dimension. Introduction to Part III. A Simple 3D Application. 3DCoordinateSystems.The Model and the Scene. A Computer Graphics Simulation. The Camera. A Computer Graphics Camera. The Visible Volume. The Coordinate Transformation Pipeline. The World Transform: OC to WC. The Eye Transform: WC to EC. The Projection Transform: EC to NDC. 3D NDC–to-2D Device Transform. Re-Examining Tutorial. Working with the Camera. UWBGL Camera Implementation. Working with Multiple Cameras. Manipulating the Camera. DC-to-WC Transformation. 2D Versus 3DCoordinate Transformation Pipeline. Graphics Programming in 3D. Graphical Primitives for the Third Dimension. Rotation in 3D. Orientation in 3D. Simple Scene Graph in 3D. Scene Graph and Orientation. Collision in 3D. Selectionin3D. A Material and Illumination. Vectors. 1 Vector Basics. 2 Vector Products. 3 Vector Examples. 4 Orthonormal Matrices. Summary of Library Version Changes. Index.
Biography
Kelvin Sung, Peter Shirley, Steven Baer
A detailed computer graphics 'bible' perfect for college-level classroom or library reference. From object coordinate systems to behavior abstraction, this is a winner.
—The Bookwatch, March 2009