万本电子书0元读

万本电子书0元读

顶部广告

OpenGL Game Development By Example电子书

售       价:¥

13人正在读 | 0人评论 9.8

作       者:Robert Madsen

出  版  社:Packt Publishing

出版时间:2016-03-08

字       数:237.8万

所属分类: 进口书 > 外文原版书 > 电脑/网络

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
Design and code your own 2D and 3D games efficiently using OpenGL and C++ About This Book Create 2D and 3D games completely, through a series of end-to-end game projects Learn to render high performance 2D and 3D graphics using OpenGL Implement a rudimentary game engine using step-by-step code Who This Book Is For If you are a prospective game developer with some experience using C++, then this book is for you. Both prospective and experienced game programmers will find nuggets of wisdom and practical advice as they learn to code two full games using OpenGL, C++, and a host of related tools. What You Will Learn Set up your development environment in Visual Studio using OpenGL Use 2D and 3D coordinate systems Implement an input system to handle the mouse and the keyboard Create a state machine to handle complex changes in the game Load, display, and manipulate both 2D and 3D graphics Implement collision detection and basic physics Discover the key components needed to complete a polished game Handle audio files and implement sound effects and music In Detail 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. Style and approach An easy-to-follow guide full of code examples to illustrate every concept and help you build a 2D and 3D game from scratch, while learning the key tools that surround a typical OpenGL project.
目录展开

OpenGL Game Development By Example

Table of Contents

OpenGL Game Development By Example

Credits

About the Authors

About the Reviewers

www.PacktPub.com

Support files, eBooks, discount offers, and more

Why subscribe?

Free access for Packt account holders

Preface

What this book covers

What you need for this book

Who this book is for

Conventions

Reader feedback

Customer support

Downloading the example code

Errata

Piracy

Questions

1. Building the Foundation

Introducing the development environment

A quick look at Visual Studio

Start screen

The Solution Explorer panel

The Standard Toolbar panel

The code window

The output window

Starting your project

The game loop

The game structure

Initialization

The game loop

Shutdown

Creating the game structure

Port of access

The Windows message loop

Introducing OpenGL

What is OpenGL?

The other GL

Downloading OpenGL

Adding OpenGL to the project

Linking to the OpenGL library

Summary

2. Your Point of View

Plotting your revenge

The OpenGL coordinate system

Making your point

Understanding the code

Header files

Initializing OpenGL

The main entry point

The update function

Drawing the points

Running the program

Stretching your point

Getting primitive

A triangle by any other name

A primitive example

From triangles to models

Introducing textures

Using textures to fill the triangles

A matter of reference

Hanging out in the quad

Coding the quad

Rendering a texture

Loading the texture

Texture wrapping

Creating a textured quad

Putting the pieces together

Summary

3. A Matter of Character

Spritely speaking

Sprites versus non-sprites

Flipbook animation

Framed animation

Creating sprites

Working with PNGs

Linking to the SOIL library

Including the SOIL header file

Opening an image file

Coding a sprite class

Creating sprite frames

Saving each frame

Loading a sprite from individual textures

Creating a sprite sheet

Loading a sprite sheet

Loading our sprites

Rendering

Adding a render to the game loop

Implementing the main Render function

Implementing Render in the Sprite class

UV mapping

One more detail

A moving example

Adding update to the game loop

Implementing the main Update call

Implementing Update in the Sprite class

Character movement

Using delta time

Calculating delta time

Flipping

Scrolling the background

Using an atlas

Summary

4. Control Freak

A penny for your input

The keyboard input

Using the mouse

Touch

Other inputs

Someone is listening

The WndProc event listener

Handling the message queue

Handling mouse and keyboard inputs

Creating the Input class

Virtual key codes

Querying for input

Implementing the Input class

Adding input to the game loop

Processing our input

Changes to the Sprite class

Graphical User Interface

Creating a button

Enhancing the Input class

Adding UI elements to the list

Checking each UI element

Pushing your buttons

Adding our pauseButton

State management

Creating a state manager

Pausing the game

Summary

5. Hit and Run

Out of bounds!

Getting anchored

Collision rectangles

Embedding

Fixing the background

Collideables

Ready to score

A friend indeed

Time to spawn

Circular collision detection

The Pythagorean Theorem

Adding the circular collision code

Why use circular collision detection?

Wiring in the collision detection

Rectangular collision detection

The enemy within

Spawning the enemy

Adding the rectangular collision code

Wiring continued

Summary

6. Polishing the Silver

The state of the game

State machines

Why do we need a state machine?

Planning for state

Defining the new state

Implementing the state machine

Making a splash

Creating the splash screen

Defining the splash screen

Loading our resources

What's on the menu?

Creating the menu

Defining the menu buttons

Getting some credit

Creating the credits screen

Getting back to the main menu

Working with fonts

Creating the font

Drawing text

Wiring in the font support

Level up!

Displaying the score

Game progression

Defining game levels

Game stats

The next level screen

Continuing the game

Game over

The game over screen

Replaying the game

Summary

7. Audio Adrenaline

Bits and bytes

A sound by any other name

Making noise

Revving up your engine

Accessing the FMOD .dll file

Linking to the library

Point to the include files

Initializing FMOD

Virtual channels

Channel priority

Bleeps and bloops

Sound effects

Setting up the sounds

Playing sounds

UI feedback

The sound of music

Cleaning up the house

Release sprites

Release input

Releasing fonts

Releasing audio

Summary

8. Expanding Your Horizons

Into the third dimension!

Simulating 3D

Real 3D

3D Coordinate Systems

The camera

Remember those home movies?

Steady as she goes!

The viewport

Entering the matrix

Vectors

Combining vectors

Identity matrix

Coding in 3D

Creating the project

Retrieving OpenGL files

Linking projects to OpenGL libraries

Setting up the OpenGL window

Including header files

Defining global variables

Creating a function to create the OpenGL window

Sizing the OpenGL window

Initializing the OpenGL window

Creating a function to remove the OpenGL window

Creating the OpenGL window

Creating the Windows event handler

The Game loop

The finale

Summary

9. Super Models

New Space

A computer in a computer

Drawing your weapons

Getting primitive

Drawing primitives

Making your point

Gl_Points

Getting in line

Gl_Lines

Gl_Line_Strip

Gl_Line_Loop

Triangulation

Gl_Triangles

Gl_Triangle_Strip

Gl_Triangle_Fan

Being square

Gl_Quads

Gl_Quad_Strip

Saving face

Back to Egypt

A modeling career

Blending in

Blender overview

Building your spaceship

Exporting the object

Getting loaded

Summary

10. Expanding Space

Creation 101

Preparing the project

Loading game objects

The Model class header

Implementing the Model class

Modifying the game code

Taking control

Implementing input

Asteroid slalom

Setting up collision detection

Turning on collision

Summary

11. Heads Up

Mixing things up

The saving state

Push and pop

Two state rendering

A matter of state

Adding the state machine

Getting ready for a splash

Creating the user interface

Defining the text system

Defining textures

Wiring in render, update, and the game loop

Summary

12. Conquer the Universe

A fun framework

Setting up the Visual Studio project

Setting up the Windows environment

Setting up the OpenGL environment

Setting up the game loop

Texture mapping

Loading the texture

Rendering the cube

Mapping operations

Let there be light!

Defining a light source

The skybox

Advanced topics

Game physics

AI

The future

Summary

Index

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部