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

    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


    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


    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



    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


    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


    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


    Re-Examining Tutorial

    Working with the Camera

    UWBGL Camera Implementation

    Working with Multiple Cameras

    Manipulating the Camera

    DC-to-WC Transformation


    Graphics Programming in 3D

    Graphical Primitives for the Third Dimension



    Simple Scene Graph in 3D

    Scene Graph and Orientation

    Collision in 3D


    A Material and Illumination


    1 Vector Basics

    2 Vector Products

    3 Vector Examples

    4 Orthonormal Matrices

    Summary of Library Version Changes



































    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.


    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