Book Image

XNA 4 3D Game Development by Example: Beginner's Guide

By : Kurt Jaegers
Book Image

XNA 4 3D Game Development by Example: Beginner's Guide

By: Kurt Jaegers

Overview of this book

Move beyond the world of flat 2D-based game development and discover how to create your own exciting 3D games with Microsoft XNA 4.0. Create a 3D maze, fire shells at enemy tanks, and drive a rover on the surface of Mars while being attacked by alien saucers."XNA 4 3D Game Development by Example: Beginner's Guide" takes you step-by-step through the creation of three different 3D video games with Microsoft XNA 4.0. Learn by doing as you explore the worlds of 3D graphics and game design.This book takes a step-by-step approach to building 3D games with Microsoft XNA, describing each section of code in depth and explaining the topics and concepts covered in detail. From the basics of a 3D camera system to an introduction to writing DirectX shader code, the games in this book cover a wide variety of both 3D graphics and game design topics. Generate random mazes, load and animate 3D models, create particle-based explosions, and combine 2D and 3D techniques to build a user interface."XNA 4 3D Game Development by Example: Beginner's Guide" will give you the knowledge to bring your own 3D game creations to life.
Table of Contents (16 chapters)
XNA 4 3D Game Development by Example Beginner's Guide
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface

Time for action – building Particles.fx


In order to create effects for our particles, perform the following steps:

  1. 1. Right-click on the Effects folder in the game's content project and select Add | New Item.

  2. 2. From the Add New Item dialog box, select the Effect File type from the central pane.

  3. 3. Name the effect file Particles.fx and click on Add.

  4. 4. In the declarations area at the beginning of the file, add the following new declarations:

    float alphaValue;
    
    texture particleTexture;
    
    sampler2D textureSampler = sampler_state {
      Texture = (particleTexture);
      AddressU = Wrap;
      AddressV = Wrap;
    };
  5. 5. Replace the current VertexShaderInput and VertexShaderOutput structs with new ones that include texture coordinates as follows:

    struct VertexShaderInput
    {
        float4 Position : POSITION0;
        float2 TextureCoordinate : TEXCOORD0;
    };
    
    struct VertexShaderOutput
    {
        float4 Position : POSITION0;
        float2 TextureCoordinate : TEXCOORD0;
    };
  6. 6. Replace the current VertexShaderFunction() method with...