1st Edition

Essentials of Interactive Computer Graphics Concepts and Implementation

By Kelvin Sung, Peter Shirley, Steven Baer Copyright 2008
568 Pages
by A K Peters/CRC Press

568 Pages
by A K Peters/CRC Press

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... Read more

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