3D Graphics with XNA Game Studio 4.0

3D Graphics with XNA Game Studio 4.0
eBook: $26.99
Formats: PDF, PacktLib, ePub and Mobi formats
save 15%!
Print + free eBook + free PacktLib access to the book: $71.98    Print cover: $44.99
save 37%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Table of Contents
Sample Chapters
  • Improve the appearance of your games by implementing the same techniques used by professionals in the game industry
  • Learn the fundamentals of 3D graphics, including common 3D math and the graphics pipeline
  • Create an extensible system to draw 3D models and other effects, and learn the skills to create your own effects and animate them


Book Details

Language : English
Paperback : 292 pages [ 235mm x 191mm ]
Release Date : December 2010
ISBN : 1849690049
ISBN 13 : 9781849690041
Author(s) : Sean James
Topics and Technologies : All Books, Game Development, Games

Table of Contents

Chapter 1: Getting Started with 3D
Chapter 2: Introduction to HLSL
Chapter 3: Advanced Lighting
Chapter 4: Projection and Shadowing Effects
Chapter 5: Shader Effects
Chapter 6: Billboard and Particle Effects
Chapter 7: Environmental Effects
Chapter 8: Advanced Materials and Post Processing
Chapter 9: Animation
  • Chapter 1: Getting Started with 3D
    • Setting up a new project
    • The 3D coordinate system
    • Matrices
    • Loading a model
    • Drawing a model
    • Creating a Custom Model class
    • Creating a Camera class
      • Creating a target camera
      • Upgrading the camera to a free camera
    • Calculating bounding spheres for models
    • View frustum culling
    • Additional camera types: Arc-Ball
    • Additional camera types: chase camera
    • Example—spaceship simulator
      • XNA Graphics Profiles
  • Summary
    • Chapter 2: Introduction to HLSL
      • Getting started
      • Assigning a shader to a model
      • Creating a simple effect
      • Texture mapping
      • Texture sampling
      • Diffuse colors
      • Ambient lighting
      • Lambertian directional lighting
      • Phong specular highlights
      • Creating a Material class to store effect parameters
      • Summary
      • Chapter 3: Advanced Lighting
        • Implementing a point light with HLSL
        • Implementing a spot light with HLSL
        • Drawing multiple lights
        • Prelighting
        • Storing depth and normal values
        • Creating the light map
        • Drawing models with the light map
        • Creating the prelighting renderer
        • Using the prelighting renderer
        • Summary
        • Chapter 4: Projection and Shadowing Effects
          • Projective texturing
          • Shadow mapping—drawing the depth map
            • Shadow mapping—projecting the depth texture onto the scene
            • Shadow mapping—performing the depth comparison
          • Variance shadow mapping—soft shadows
            • Variance shadow mapping—blurring the depth texture
          • Variance shadow mapping—generating shadows
          • Summary
          • Chapter 5: Shader Effects
            • Fog
            • Normal mapping
            • Generating normal maps with Photoshop
            • Cube mapping: Making a sky sphere
            • Cube mapping: Reflections
            • Rendering sky boxes with Terragen
            • Creating a reflective water effect
            • Summary
            • Chapter 6: Billboard and Particle Effects
              • Creating the BillboardSystem class
              • Drawing Billboards
              • Creating clouds with spherical billboarding
              • Non-rotating billboards
              • Particle effects
              • Particle fire
              • Particle smoke
              • Summary
              • Chapter 7: Environmental Effects
                • Building a terrain from a heightmap
                • Multitexturing
                • Adding a detail texture to the terrain
                • Placing plants on the terrain
                • Adding the finishing touches
                • Summary
                  • Chapter 9: Animation
                    • Object animation
                    • Keyframed animation
                    • Curve interpolation
                    • Building a Race Track from a Curve
                    • Moving a car along the track
                    • Hierarchical animation
                    • Skinned animation
                    • Loading a skinned model
                    • Playing a skinned animation
                    • Changing an animation's play speed
                    • Model attachments
                    • Summary

                    Sean James

                    Sean James is a computer science student who has been programming for many years. He started with web design, learning HTML, PHP, Javascript, etc. Since then has created many websites including his personal XNA and game development focused blog http://www.innovativegames.net. In addition to web design he has interests in desktop software development and development for mobile devices such as Android, Windows Mobile, and Zune. However, his passion is for game development with DirectX, OpenGL, and XNA.

                    Sean James lives in Claremont, CA with his family and two dogs. He would like to thank his family and friends who supported him throughout the writing of this book, and all the people at Packt Publishing who worked hard on the book and to support him. He would also like to thank the XNA community for providing such amazing resources, without which this book would not have been possible.

                    Sorry, we don't have any reviews for this title yet.

                    Code Downloads

                    Download the code and support files for this book.

                    Submit Errata

                    Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.


                    - 1 submitted: last submission 21 Jan 2013

                    Errata type: Technical | Page number: 15 | Errata date: 30 December 11

                    Matrix localWorld = modelTransforms[...

                    should be

                    Matrix localWorld = transforms[...



                    Variable "transforms" should be "modelTranforms on page 13





                    Sample chapters

                    You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

                    Frequently bought together

                    3D Graphics with XNA Game Studio 4.0 +    Pentaho 3.2 Data Integration: Beginner's Guide =
                    50% Off
                    the second eBook
                    Price for both: $39.00

                    Buy both these recommended eBooks together and get 50% off the cheapest eBook.

                    What you will learn from this book

                    • Understand the fundamentals of 3D graphics and math.
                    • Create a flexible framework for building games
                    • Learn how to implement some of the most common and uncommon graphics techniques such as lighting and animation, using the XNA Framework.
                    • Work with HLSL and shaders.
                    • Create an architecture rendering and creating special effects.
                    • Improve your games with optimization techniques.

                    In Detail

                    XNA is a very powerful API using which it's easy to make great games, especially when you have dazzling 3D effects. This book will put you on course to implement the same 3D graphics used in professional games to make your games shine, and get those gamers addicted! If you think 3D graphics is something that limits your games, then this book is for you.

                    3D Graphics with XNA Game Studio 4.0 is a step by step companion to implement the effects used in professional 3D games in your XNA games. By the time you're done with this book your games would have eye-catching visuals and 3D effects.

                    The one thing that can make or break a game is its appearance; players will mostly be attracted to a game if it looks good. With this book you will create your 3D objects and models and make them look more interesting by using shadowing and lighting techniques, and make them move in nasty ways using animation. Want to create realistic terrians for your games? Need some place for your 3D models to engage in battle? This book will enable you to do all that and more, by walking you through the implementation of numerous effects and graphics techniques used in professional games so that you can make them look great.


                    This book is designed as a step-by-step tutorial that can be read through from beginning to end, with each chapter building on the last. Each section, however, can also be used as a reference for implementing various camera models, special effects, etc. The chapters are filled with illustrations, screenshots, and example code, and each chapter is based around the creation of one or more example projects. By the end of the first chapter you will have created the framework that is used and improved upon for the rest of the book, and by the end of the book you will have implemented dozens of special effects, camera types, lighting models and more using that framework.

                    Who this book is for

                    This book is mainly written for those who are familiar with object oriented programming and C# and who are interested in taking 3D graphics of their XNA games to the next level. This book will be useful as learning material for those who are new to graphics and for those who are looking to expand their toolset. Also, it can be used by game developers looking for an implementation guide or reference for effects or techniques they are already familiar with.

                    Code Download and Errata
                    Packt Anytime, Anywhere
                    Register Books
                    Print Upgrades
                    eBook Downloads
                    Video Support
                    Contact Us
                    Awards Voting Nominations Previous Winners
                    Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
                    Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software