XNA 3.0 Game Programming Recipes (eBook)
XX, 649 Seiten
Apress (Verlag)
978-1-4302-1856-2 (ISBN)
Join the game development revolution today! XNA 3.0 greatly simplifies the development of your own games, lowering the barrier for programmers to get into game development. In XNA, you can start coding your games from the very start, a true revelation compared to other game programming environments. XNA doesn't sacrifice power for this ease of use-it is built entirely on DirectX technology.
Completely updated for XNA 3.0, expert Riemer Grootjans brings together a selection of the hottest recipes in XNA programming for the Xbox 360, PC, and Zune. Advanced XNA programmers, experienced coders new to game development, and even complete beginners will find XNA 3.0 Game Programming Recipes an invaluable companion whether building games for fun or as commercial products.
Riemer Grootjans received his degree in electronic engineering with a specialization in informatics at the Vrije Universiteit Brussel in Belgium. He is a member of a research team working toward a Ph.D, and is responsible for visualization of 3D data. For several years, Riemer has been maintaining a web site with tutorials for DirectX. Since the early beta stages of XNA in 2006, he has ported all his content to XNA and is helping more than 1,000 people on their path to XNA success every day. In July 2007 and 2008, he received the Microsoft 'Most Valuable Professional' Award for his contributions to the XNA community.
Join the game development revolution today! XNA 3.0 greatly simplifies the development of your own games, lowering the barrier for programmers to get into game development. In XNA, you can start coding your games from the very start, a true revelation compared to other game programming environments. XNA doesn't sacrifice power for this ease of use-it is built entirely on DirectX technology.Completely updated for XNA 3.0, expert Riemer Grootjans brings together a selection of the hottest recipes in XNA programming for the Xbox 360, PC, and Zune. Advanced XNA programmers, experienced coders new to game development, and even complete beginners will find XNA 3.0 Game Programming Recipes an invaluable companion whether building games for fun or as commercial products.
Riemer Grootjans received his degree in electronic engineering with a specialization in informatics at the Vrije Universiteit Brussel in Belgium. He is a member of a research team working toward a Ph.D, and is responsible for visualization of 3D data. For several years, Riemer has been maintaining a web site with tutorials for DirectX. Since the early beta stages of XNA in 2006, he has ported all his content to XNA and is helping more than 1,000 people on their path to XNA success every day. In July 2007 and 2008, he received the Microsoft "Most Valuable Professional" Award for his contributions to the XNA community.
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
Erscheint lt. Verlag | 26.5.2009 |
---|---|
Zusatzinfo | XX, 649 p. |
Verlagsort | Berkeley |
Sprache | englisch |
Themenwelt | Informatik ► Software Entwicklung ► Spieleprogrammierung |
Mathematik / Informatik ► Informatik ► Theorie / Studium | |
Schlagworte | DirectX • Game Programming • programming • Technology • Xbox • XNA |
ISBN-10 | 1-4302-1856-8 / 1430218568 |
ISBN-13 | 978-1-4302-1856-2 / 9781430218562 |
Haben Sie eine Frage zum Produkt? |
![PDF](/img/icon_pdf_big.jpg)
Größe: 3,8 MB
DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasserzeichen und ist damit für Sie personalisiert. Bei einer missbräuchlichen Weitergabe des eBooks an Dritte ist eine Rückverfolgung an die Quelle möglich.
Dateiformat: PDF (Portable Document Format)
Mit einem festen Seitenlayout eignet sich die PDF besonders für Fachbücher mit Spalten, Tabellen und Abbildungen. Eine PDF kann auf fast allen Geräten angezeigt werden, ist aber für kleine Displays (Smartphone, eReader) nur eingeschränkt geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür einen PDF-Viewer - z.B. den Adobe Reader oder Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür einen PDF-Viewer - z.B. die kostenlose Adobe Digital Editions-App.
Zusätzliches Feature: Online Lesen
Dieses eBook können Sie zusätzlich zum Download auch online im Webbrowser lesen.
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
aus dem Bereich