Book Image

OpenGL Game Development By Example

By : Stephen Madsen, Robert Madsen
Book Image

OpenGL Game Development By Example

By: Stephen Madsen, Robert Madsen

Overview of this book

OpenGL is one of the most popular rendering SDKs used to develop games. OpenGL has been used to create everything from 3D masterpieces running on desktop computers to 2D puzzles running on mobile devices. You will learn to apply both 2D and 3D technologies to bring your game idea to life. There is a lot more to making a game than just drawing pictures and that is where this book is unique! It provides a complete tutorial on designing and coding games from the setup of the development environment to final credits screen, through the creation of a 2D and 3D game. The book starts off by showing you how to set up a development environment using Visual Studio, and create a code framework for your game. It then walks you through creation of two games–a 2D platform game called Roboracer 2D and a 3D first-person space shooter game–using OpenGL to render both 2D and 3D graphics using a 2D coordinate system. You'll create sprite classes, render sprites and animation, and navigate and control the characters. You will also learn how to implement input, use audio, and code basic collision and physics systems. From setting up the development environment to creating the final credits screen, the book will take you through the complete journey of creating a game engine that you can extend to create your own games.
Table of Contents (19 chapters)
OpenGL Game Development By Example
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Index

Initializing FMOD


The first code that we need to add is the code that will initialize the audio engine. Just like we must initialize OpenGL, the code will set up FMOD and check to see if there are any errors along the way.

Open RoboRacer2D.cpp and add the following code to the variable declarations area:

FMOD::System* audiomgr;

Then add the following function:

bool InitFmod()
{
  FMOD_RESULT result;
  result = FMOD::System_Create(&audiomgr);
  if (result != FMOD_OK)
  {
    return false;
  }
  result = audiomgr->init(50, FMOD_INIT_NORMAL, NULL);
  if (result != FMOD_OK)
  {
    return false;
  }
  return true;
}

This function creates the FMOD system and initializes it:

  • First, we define a variable to catch FMOD error codes

  • The System_Create call creates the engine and stores the results in audiomgr

  • We then initialize FMOD with 50 virtual channels, normal mode, and

Finally, we need call the InitAudio function. Modify the GameLoop function, adding the highlighted line:

void GameLoop(const float...