O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

3D Programming for Windows®

Book Description

The Windows Presentation Foundation is a key component of .NET Framework 3.0, which is a part of Windows Vista and available for Windows XP. With the Windows Presentation Foundation, 3D images can be displayed regardless of the video-display hardware on the users machine. Focusing on developing user interface objects or simple animations, this book builds on a readers knowledge of Windows Presentation Foundation essentials to demonstrate how to effectively create 3D graphics for Windows. You get the fundamental information for using the Windows Presentation Foundation 3D application programming interface (API), as well as in-depth coverage of mesh geometries.

Table of Contents

  1. 3D Programming for Windows®: Three-Dimensional Graphics Programming for the Windows Presentation Foundation
    1. SPECIAL OFFER: Upgrade this ebook with O’Reilly
    2. Introduction
      1. The Role of WPF 3D
      2. Your Background
      3. System Requirements
      4. Code Samples
      5. Petzold.Media3D and Other Tools
      6. Support for This Book
      7. Questions and Comments
      8. Author's Web Site
      9. Special Thanks
    3. 1. Lights! Camera! Mesh Geometries!
      1. Three-Dimensional Coordinates
      2. Points in Space
      3. Introduction to Vectors
      4. Defining the 3D Figure
      5. Lights and Camera
      6. The Viewport3D and Its Constituents
      7. Variations in Code and Markup
      8. Fields of View
      9. Defining Flat Rectangles
      10. Defining "Solid" Figures
      11. Balancing Light Sources
      12. The Orthographic Projection
      13. Why Not Share the Vertices?
      14. Transparency
      15. Sorting Out the Classes
    4. 2. Transforms and Animation
      1. Animation Without Transforms
      2. Manipulating Collections
      3. The Transform3D Class
      4. The Translation Transform
      5. Shareable Models
      6. The Scale Transform
      7. Combining Translation and Scaling
      8. How to Build a Chair
    5. 3. Axis/Angle Rotation
      1. The Rotation Transform
      2. Combining Rotation and Other Transforms
      3. Introduction to Hit-Testing
      4. Animating the Axis
    6. 4. Light and Shading
      1. Lessons in Illumination
      2. Vector Mathematics
      3. DiffuseMaterial and Its Properties
      4. SpotLight and PointLight
    7. 5. Texture and Materials
      1. Gradient Brushes
      2. Tile Brushes
        1. Brushes Based on Bitmaps
        2. Efficiency Issues
        3. Brushes Based on Drawings
        4. The VisualBrush
      3. Specular and Emissive Materials
    8. 6. Algorithmic Mesh Geometries
      1. Triangulation Basics
        1. Parametric Equations
        2. Analyzing the Sphere
        3. Triangulating the Sphere
        4. The Problem of Inheritance
      2. Triangulation Resources
        1. Resource Mechanics
        2. Dependency Properties and Animation
        3. Converting Objects to XAML
      3. Deriving from ModelVisual3D
      4. The Petzold.Media3D Library
        1. The Mesh Geometry Classes
        2. Using the Library with Visual Studio
        3. Using the Library with XamlCruncher 2.0
        4. Using the Library with Standalone XAML
        5. ModelVisual3D Derivations
    9. 7. Matrix Transforms
      1. Linear Transforms
        1. A Review of Matrix Algebra
        2. Matrices and Transforms
        3. Using MatrixTransform3D
      2. Affine Transforms and Beyond
        1. The Two-Dimensional Analogy
        2. Three-Dimensional Homogeneous Coordinates
        3. Compound Transforms
        4. Inverse Transforms
        5. Coordinate Transforms
        6. Composite Rotations
      3. Camera Transforms
        1. The View Matrix
        2. The Projection Matrix
        3. MatrixCamera in Use
        4. 3D Figures in 2D Units
    10. 8. Quaternions
      1. The Convenience of Complex Numbers
      2. Hamilton and Quaternions
      3. Why Are Quaternions So Weird?
      4. The Quaternion Structure
      5. Quaternions and Rotation
      6. Low-Level Quaternion Rotation
      7. Quaternions and Rotation Matrices
      8. SLERP and Animation
    11. 9. Applications and Curiosa
      1. Control Templates
      2. 3D Visualization of Data
      3. Mimicking Real World Objects
      4. Interactive Mouse Tracking
      5. Printing in 3D
      6. Anaglyphs
    12. Index
    13. SPECIAL OFFER: Upgrade this ebook with O’Reilly