1st Edition

The PC Graphics Handbook

By Julio Sanchez, Maria P. Canton Copyright 2003
    1014 Pages 16 Color & 318 B/W Illustrations
    by CRC Press

    The PC Graphics Handbook serves advanced C++ programmers dealing with the specifics of PC graphics hardware and software.

    Discussions address:

  • 2D and 3D graphics programming for Windows and DOS
  • Device-independent graphics
  • Mathematics for computer graphics
  • Graphics algorithms and procedural operations
  • PC video systems architecture, including its history and development
  • High-end graphics systems and coprocessors
  • Artificial life
  • Virtual reality
  • Animation techniques for simulations and video games
  • VGA, SuperVGA, and VESA
  • Device drivers
  • Graphics and animation primitives

    The authors cover the spectrum of PC graphics programming, including theoretical and practical topics - creating a singularly comprehensive resource for programmers.
  • Part I - Graphics Fundamentals

    PC GRAPHICS OVERVIEW
    History and Evolution
    Short History of PC Video
    PS/2 Video Systems
    SuperVGA
    Graphics Coprocessors and Accelerators
    Graphics Applications
    State-of-the-Art in PC Graphics
    3D Application Programming Interfaces

    POLYGONAL MODELING
    Vector and Raster Data
    Coordinate Systems
    Modeling with Polygons


    IMAGE TRANSFORMATIONS
    Matrix-based Representations
    Matrix Arithmetic
    3D Transformations

    PROGRAMMING MATRIX TRANSFORMATIONS
    Numeric Data in Matrix Form
    Array Processing

    PROJECTIONS AND RENDERING
    Perspective
    The Rendering Pipeline

    LIGHTING AND SHADING
    Lighting
    Shading
    Other Rendering Algorithms

    Part II - Dos Graphics

    VGA FUNDAMENTALS
    The VGA Standard
    VGA Components
    VGA Registers
    The Digital-to-Analog Converter (DAC)

    VGA DEVICE DRIVERS
    Levels of VGA Programming
    Developing the VGA Device Drivers
    Color Manipulations

    VGA CORE PRIMITIVES
    Classification of VGA Primitives
    VGA Primitives for Set-up, Control, and Query
    VGA Text Display Primitives
    Bit-Block and Fill Primitives
    Primitive Routines in the VGA1 and VGA2 Modules

    VGA GEOMETRICAL PRIMITIVES
    Geometrical Graphics Objects
    Plotting a Straight Line
    Plotting Conic Curves
    Geometrical Operations
    Region Fills
    Primitive Routines in the VGA3 Module

    XGA AND 8514/A ADAPTER INTERFACE
    8514/A and XGA 221
    Adapter Interface Software 225
    Communicating with the AI 233
    AI Concepts 243
    Details of AI Programming 247

    XGA HARDWARE PROGRAMMING
    XGA Hardware Programming
    XGA Features and Architecture
    Initializing the XGA System
    Processor Access to XGA Video Memory
    Programming the XGA Graphics Coprocessor
    The XGA Sprite
    Using the XGA Library

    SUPERVGA PROGRAMMING
    Introducing the SuperVGA Chipsets
    The VESA SuperVGA Standard
    The VESA BIOS
    Programming the SuperVGA System
    Using the SuperVGA Library

    DOS ANIMATION
    Graphics and Animation
    Interactive Animation
    Image Animation
    Imaging Techniques

    BIT-MAPPED GRAPHICS
    Image File Encoding
    The Graphics Interchange Format (GIF)
    The Tag Image File Format (TIFF)
    The Hewlett-Packard Bitmapped Fonts

    PART III - WINDOWS API GRAPHICS

    GRAPHICS PROGRAMMING IN WINDOWS
    Windows at the API Level
    Elements of a Windows Program
    The Window Procedure
    The WinHello Program
    WinHello Program Listing

    TEXT GRAPHICS
    Text in Windows
    Device and Display Contexts
    Mapping Modes
    Programming Text Operations
    Text Graphics

    KEYBOARD AND MOUSE PROGRAMMING
    Keyboard Input
    The Caret
    Mouse Programming
    Mouse and Cursor Demonstration Program

    CHILD WINDOWS AND CONTROLS
    Window Styles
    Menus
    Dialog Boxes
    Common Controls

    PIXELS, LINES, AND CURVES
    Drawing in a Window
    Graphics Device Interface
    Graphic Objects and GDI Attributes
    Pixels, Lines, and Curves

    DRAWING FIGURES, REGIONS, AND PATHS
    Closed Figures
    Drawing Closed Figures
    Operations on Rectangles
    Regions
    Clipping Operations
    Paths
    Filled Figures Demo Program

    BIT-MAPPED GRAPHICS
    Raster and Vector Graphics
    Bitmap Constructs
    Bitmap Programming Fundamentals
    Bitmap Manipulations
    Bitmap Transformations
    Bitmap Demonstration Program

    PART IV - DIRECTX GRAPHICS

    INTRODUCING DIRECTX
    Why DirectX?
    DirectX 8.1 Components
    New Features in DirectX 8
    Testing the Installation

    DIRECTX AND COM
    Object Orientation and C++ Indirection
    COM in DirectX Programming
    Creating and Accessing the COM Object

    INTRODUCING DIRECTDRAW
    Graphics and DirectDraw
    Basic Concepts for DirectDraw Graphics
    DirectDraw Architecture
    DirectDraw Programming Essentials

    SETTING UP DIRECTDRAW
    Set-up Operations
    Creating the DirectDraw Object
    The DD Info Project

    DIRECTDRAW EXCLUSIVE MODE
    WinMain() for DirectDraw
    DirectDraw Initialization
    The DD Exclusive Mode Template

    ACCESS TO VIDEO MEMORY
    Direct Access Programming
    In-Line Assembly Language
    Multi-Language Programming
    Direct Access Primitives
    Raster Operations
    Direct Access Project

    BLITTING
    Surface Programming
    The Blit
    Blit-Time Transformations
    Blit-Rendering Operations
    DD Bitmap Blit Project

    DIRECTDRAW BITMAP RENDERING
    Bitmap Manipulations
    Developing a Windowed Application
    Rendering in Windowed Mode

    DIRECTDRAW ANIMATION
    Animating in Real-Time
    Timed Pulse Animation
    Sprites
    Page Flipping
    Animation Programming
    Fine-Tuning the Animation
    Measuring Performance

    DIRECT3D FUNDAMENTALS
    3D Graphics in DirectX
    Direct3D Rendering
    Retained Mode Programming
    Direct3D File Formats

    DIRECT3D PROGRAMMING
    Initializing the Software Interface
    Building the Objects
    Master Scene Concepts
    Master Scene Components
    Rendering Operations 967
    Sample Project 3DRM InWin Demo1 970

    APPENDICES
    BIBLIOGRAPHY
    INDEX

    Biography

    Maria P. Canton, Julio Sanchez