Search and Find

Book Title

Author/Publisher

Table of Contents

Show eBooks for my device only:

 

XNA 3.0 Game Programming Recipes - A Problem-Solution Approach

XNA 3.0 Game Programming Recipes - A Problem-Solution Approach

of: Riemer Grootjans

Apress, 2009

ISBN: 9781430218562 , 649 Pages

Format: PDF, Read online

Copy protection: DRM

Windows PC,Mac OSX,Windows PC,Mac OSX geeignet für alle DRM-fähigen eReader Apple iPad, Android Tablet PC's Read Online for: Windows PC,Mac OSX,Linux

Price: 35,30 EUR



More of the content

XNA 3.0 Game Programming Recipes - A Problem-Solution Approach


 

Contents at a Glance

5

Contents

6

About the Author

10

About the Technical Reviewer

11

Acknowledgments

12

Introduction

13

If You’re New to XNA and Starting Your First 2D Game

14

If You’re Going from 2D to 3D

14

Start Using the Content Pipeline

14

Enhance the Final Image with HLSL Shaders

15

Prerequisites

15

Downloading the Code

16

Contacting the Author

16

Getting Started with XNA 3.0

17

1- 1. Install XNA Game Studio 3.0

17

1- 2. Start Your First XNA 3.0 Project

18

1- 3. Deploy Your XNA 3.0 Game on Xbox 360

21

1- 4. Deploy Your XNA 3.0 Game on the Zune

24

1- 5. Deploy Your XNA 3.0 Game on Another PC

26

1- 6. Customize Game Loop Timing

28

1- 7. Make Your Code Plug- and- Play Using GameComponents

30

1- 8. Allow Your GameComponents to Communicate with Each Other by Implementing GameServices

34

1- 9. Save and Load Data to or from a File

39

Setting Up Different Camera Modes in Your 3D World

45

2- 1. Set Up the Camera: Position, Target, and View Frustum

46

2- 2. Specify the Target of Your Camera

53

2- 3. Create a First- Person Shooter Camera: A Quake- Style Camera

60

2- 4. Create a Freelancer- Style Camera: Full 3D Rotation Using Quaternions

66

2- 5. Check Whether an Object Is in Sight of the Camera

73

2- 6. Detect Camera Collision Against Models, Walls, or Terrains

79

2- 7. Create a Camera Fly- by Action

82

2- 8. Remove the Solid Background Color: Skybox

92

2- 9. Draw Only the Parts of the Scene That Are in Sight of the Camera: Octree

104

2- 10. Use a Quadtree to Hide Parts of a Grid That Are Not in Sight

127

2- 11. Create a Real- Time Camera- Dependant Optimally Adapting Mesh ( ROAM) Terrain

137

2- 12. Set Up a Post- Processing Framework

159

2- 13. Create a Blur/ Glow Post- Processing Effect

171

2- 14. Write a Custom Content Importer

182

Working with 2D Images/ Textures in XNA 3.0

189

3- 1. Display 2D Images: Load and Render Images Using the SpriteBatch Class

190

3- 2. Rotate, Scale, and Mirror an Image

196

3- 3. Render Transparent Images Using Layers

199

3- 4. Consider Performance When Using the SpriteBatch Class

203

3- 5. Display Text

206

3- 6. Create a 2D Menu Interface

208

3- 7. Create a Texture, Define the Color of Each Pixel, Save a Texture to a File

222

3- 8. Render the Scene into a Texture

225

3- 9. Extend the Image Content Processor

229

3- 10. Extend the Image Content Processor: Grayscale Conversion and Processor Parameters

242

3- 11. Make Your Scene More Impressive with Billboarding: Render 2D Images in a 3D World So They Always Face the Camera

247

3- 12. Create a 3D Explosion Effect/ Simple Particle System

269

3- 13. Create a Mirror: Projective Texturing

282

Working with Models

296

4- 1. Load and Render a Model Using the BasicEffect Class

297

4- 2. Set Different World Matrices for Different Objects, Combining World Matrices

301

4- 3. Find the Rotation Angle Corresponding to a Direction

308

4- 4. Use Acceleration to Control Velocity

310

4- 5. Construct the Global BoundingSphere Around a Model

314

4- 6. Scale the Model to a Predefined Size

317

4- 7. Render a Model Using Custom Effects and Custom Textures ( Easy Approach)

319

4- 8. Visualize the Bone Structure of a Model

324

4- 9. Make the Bones Move Individually: Model Animation

331

4- 10. Use BoundingSpheres for Basic Model Collision Detection

336

4- 11. Use Ray- Traced Collision Detection for Small/ Fast Objects

342

4- 12. Extend the Model Content Processor to Load Custom Effects ( Clean Approach)

346

4- 13. Gain Direct Access to Vertex Position Data by Extending the Model Processor

354

4- 14. Gain Direct Access to Vertex Position Data of Each ModelMesh by Extending the Model Processor

359

4- 15. Gain Direct Access to Vertex Position Data by Defining a Custom TypeWriter and TypeReader

364

4- 16. Store Multiple Objects in the Tag Property by Defining a Custom TypeWriter and TypeReader

375

4- 17. Correctly Tilt a Model According to the Terrain Underneath

381

4- 18. Detect Ray- Model Collisions Using Per- Triangle Checks

393

4- 19. Detect Whether the Pointer Is Over a Model

403

Getting the Most Out of Vertices

408

5- 1. Render Triangles, Lines, and Points in a 3D World

409

5- 2. Apply a Texture to Your Triangles

420

5- 3. Remove Redundant Vertices Using Indices

428

5- 4. Store Your Vertices and Indices in the Memory of Your Graphics Card Using a VertexBuffer and an IndexBuffer

432

5- 5. Store Your Frequently Updated Vertices in a DynamicVertexBuffer

438

5- 6. Enable Backface Culling: What It Is and What It Can Do for You

440

5- 7. Automatically Calculate the Normals for All Vertices in a VertexBuffer

444

5- 8. Create a Terrain Based on a VertexBuffer and an IndexBuffer

451

5- 9. Calculate the Exact Height of a Terrain Between Vertices Using Bilinear Interpolation

461

5- 10. Calculate the Collision Point Between the Pointer and the Terrain: Surface Picking

467

5- 11. Load Data from an XML File

475

5- 12. Create Your Own Vertex Format

481

5- 13. Work with Bump Mapping: Fixed Normal

491

5- 14. Add Per- Pixel Detail by Bump Mapping in Tangent Space

496

5- 15. Add an Ocean to Your 3D World

508

5- 16. Apply Catmull- Rom Interpolation in 3D to Generate Additional Vertices

522

5- 17. Create the Vertices for a Racing Track

526

Adding Light to Your Scene in XNA 3.0

536

6- 1. Define Normals and Use the BasicEffect

537

6- 2. Share Normals Between Vertices

543

6- 3. Add Higher Detail to Your Lighting: Per- Pixel Lighting

548

6- 4. Add Specular Highlights to Reflective Surfaces

551

6- 5. Add HLSL Vertex Shading

553

6- 6. Define a Point Light Using HLSL

560

6- 7. Add HLSL Per- Pixel Lighting

562

6- 8. Define a Spotlight Using HLSL

566

6- 9. Add HLSL Specular Highlights

568

6- 10. Add Multiple Lights to Your Scene Using Deferred Shading

573

6- 11. Add Shadowing Capability to Your Deferred Shading Engine

589

Adding Sounds to Your XNA 3.0 Project

598

7- 1. Play and Control Simple . wav Sound Files

598

7- 2. Play MP3 or WMA Sound Files

600

7- 3. Play Simple . wav Sound Files Through XAct

601

7- 4. Loop Sounds

605

7- 5. Play Sounds from a 3D Location Relative to the Camera: 3D Sound

609

Networking in XNA 3.0

613

8- 1. Sign In for Networking Services

613

8- 2. Create a Network Session

616

8- 3. Join a Network Session

622

8- 4. Send/ Receive Data Over the Network

628

8- 5. Search for Networking Sessions Asynchronously

636

8- 6. Add Rich Presence Information

640

8- 7. Move from the Lobby to the Actual Game

641

Index

645