Game and Graphics Programming for iOS and Android with OpenGL ES 2.0

( 1 )

Overview

Develop graphically sophisticated apps and games today!

The smart phone app market is progressively growing, and there is new market gap to fill that requires more graphically sophisticated applications and games. Game and Graphics Programming for iOS and Android with OpenGL ES 2.0 quickly gets you up to speed on understanding how powerful OpenGL ES 2.0 technology is in creating apps and games for amusement and effectiveness. Leading you through the development of a real-world ...

See more details below
Paperback
$31.34
BN.com price
(Save 30%)$44.99 List Price

Pick Up In Store

Reserve and pick up in 60 minutes at your local store

Other sellers (Paperback)
  • All (14) from $22.00   
  • New (12) from $23.22   
  • Used (2) from $22.00   

Overview

Develop graphically sophisticated apps and games today!

The smart phone app market is progressively growing, and there is new market gap to fill that requires more graphically sophisticated applications and games. Game and Graphics Programming for iOS and Android with OpenGL ES 2.0 quickly gets you up to speed on understanding how powerful OpenGL ES 2.0 technology is in creating apps and games for amusement and effectiveness. Leading you through the development of a real-world mobile app with live code, this text lets you work with all the best features and tools that Open GL ES 2.0 has to offer.

  • Provides a project template for iOS and Android platforms
  • Delves into OpenGL features including drawing canvas, geometry, lighting effects, character animation, and more
  • Offers explanation of full-function 2D and 3D graphics on embedded systems
  • Addresses the principal technology for hardware-accelerated graphical rendering

Game and Graphics Programming for iOS and Android with OpenGL ES 2.0offers important, need-to-know information if you're interested in striking a perfect balance between aesthetics and functionality in apps.

Read More Show Less

Product Details

  • ISBN-13: 9781119975915
  • Publisher: Wiley, John & Sons, Incorporated
  • Publication date: 2/21/2012
  • Edition number: 1
  • Pages: 308
  • Sales rank: 385,191
  • Product dimensions: 7.30 (w) x 9.10 (h) x 0.80 (d)

Meet the Author

Romain Marucchi-Foino is the original author and founder of the popular mobile game engine SIO2. Formerly a desktop game engine developer, Romain is currently the lead 3D engine programmer for sio2interactive.com, the official developer of the SIO2 Engine, which powers thousands of games and 3D applications throughout the App Store and the Android market.

Read More Show Less

Table of Contents

INTRODUCTION xvii

CHAPTER 1: GETTING STARTED 1

Software Requirements 2

For iOS Developers 2

For Android Developers 2

Downloading the Book’s SDK 4

Importing Projects 5

For iOS Developers 5

For Android Developers 5

The Template 7

Summary 8

CHAPTER 2: SETTING UP YOUR GRAPHIC PROJECTIONS 9

The Three Basic Types of Projections 10

Orthographic 2D Projection 11

Program and Project Initialization 12

Vertex and Fragment Shader 14

Linking a Shader Program 17

The Drawing Code 19

Orthographic Projection 23

Getting Orthographic 23

Perspective Projection 26

Summary 27

CHAPTER 3: DEALING WITH COMPLEX GEOMETRY 29

The Wavefront File Format 29

Cube.obj 30

Cube.mtl 31

Preparing the OBJ Viewer Code 31

Loading an OBJ 32

Building the Shaders 35

The Vertex Shader 35

The Fragment Shader 36

Vertex Buff er Object 36

Storing the Vertex Data 37

Building the Vertex Data Array VBO 38

Building the Element Array VBO 39

Building the VAO 40

Rendering Momo 42

Handling Touche 44

Per-Vertex Lighting 46

Vertex Shader Light Calculation 46

Modifying the Fragment Shader 47

More Uniforms 48

Making Momo Furrier 50

Loading the Texture 50

Adjusting the Vertex Data 51

Adding UV Support to the Vertex Shader 52

Adding Texture Support to Your Fragment Shader 53

Binding the Texture 53

Summary 54

CHAPTER 4: BUILDING A SCENE 57

Handling Multiple Objects 58

The Code Structure 58

Loading and Drawing the Scene 59

The Shaders Code 63

The Diff erent Object Types 64

The Drawing Sequence 64

Fixing the Scene 65

Uber Shader 65

Using Your Uber Shader 66

Render Loop Objects Categorization 69

Double-Sided 71

Per-Pixel Lighting 73

Making the Vertex Shader Even Fatter 73

Getting the Fragment Shader More Uber 74

Wrapping Up the Implementation 76

Summary 79

CHAPTER 5: OPTIMIZATION 81

The Base App 82

Triangles to Triangle Strips 82

Building Triangle Strips 83

Texture Optimization 84

Adding 16-Bit Texture Conversion 85

PVR Texture Compression 86

Faking Details 87

Bump Mapping Implementation 87

Precision Qualifi ers Optimization 88

The Normal Map Lighting Calculation 90

Adding Specularity 91

Geometry and Shaders LOD 92

Texture Atlas 93

Managing States in Software 94

Automatic Shader Optimization 94

Summary 95

CHAPTER 6: REAL-TIME PHYSICS 97

Types of Physical Objects 98

Physics Shapes 98

Using Bullet 100

Hello Physics 100

Collision Callbacks, Triggers, and Contacts 105

Contact-Added Callback 105

Near Callback 107

Contact Points 108

2D Physics 110

More Shapes! 110

Building the Physical Objects 113

Camera Tracking 114

User Interactions 116

The Game Logic 117

3D Physics 120

The Bullet File Format 120

3D Pinball Game 122

Summary 127

CHAPTER 7: CAMERA 129

Touch and Go! 130

The Camera Frustum 132

How to Build the Frustum 133

Frustum Clipping Implementation 134

More Clipping Functions 135

Camera Fly Mode 136

First-Person Camera with Collision Detection 140

3D Camera Tracking 143

Third-Person Camera with Collision 145

Summary 149

CHAPTER 8: PATHFINDING 151

Recast and Detour 151

Navigation 152

Creating the Navigation Mesh 153

3D Physics Picking 155

Player’s Auto Drive 159

Visualizing the Way Points 161

Catch Me If You Can! 163

Know Your Enemy 165

Game State Logic 167

Summary 170

CHAPTER 9: AUDIO AND OTHER COOL GAME PROGRAMMING STUFF 171

OpenAL 172

OGG Vorbis 173

Hello World OpenAL Style 174

Initializing OpenAL 174

Static In-Memory Sound Playback 175

Positional Sound Source 176

Piano Game 178

Loading a Static and Streamed Sound 178

Color Picking 182

Piano Game Logic 185

Final Adjustments 188

Rolling Ball Game 190

GFX Shaders 190

Linking the Positional Sound Sources 191

Accelerometer-Driven Camera 195

Cheap FX 198

Game Logic and Tweaks 200

Summary 205

CHAPTER 10: ADVANCED LIGHTING 207

Types of Lamps 208

Let There Be Light 208

Directional Lamp Shader 211

Struct as Uniforms 214

Point Light 217

Point Light Shader Code 218

Light Attenuation 221

Point Light with Attenuation Code 222

The Attenuation Uniforms 223

Spherical Point Light 224

Tweaking the Point Light Code 225

Spot Light 227

Spot Light Shader Code 229

Multiple Lights 231

Making the Shader Program Dynamic 233

Summary 234

CHAPTER 11: ADVANCED FX 237

Render to Texture 238

Post-Processing Eff ects 238

First Rendering Pass 241

Second Pass 242

Fullscreen Pass and Blur Shader 243

Projected Texture 246

Projector Shader 249

Projected Real-Time Shadows 250

Casting Shadows Using the Depth Texture 253

A Few More Words about the Frame Buffer Object 254

Particles 255

Summary 257

CHAPTER 12: SKELETAL ANIMATION 259

Traditional vs. Modern Animation Systems 260

The MD5 File Format 261

Loading an MD5 Mesh 261

Animating the Mesh 264

LERP 266

SLERP 267

Blending Animation 267

Additive Blending 269

Summary 271

INDEX 273

Read More Show Less

Customer Reviews

Average Rating 5
( 1 )
Rating Distribution

5 Star

(1)

4 Star

(0)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
Sort by: Showing 1 Customer Reviews
  • Posted February 8, 2013

    I love this book.

    I am an intermediate ios developer and very familiar with Objective C and C, but not an expert of C++. I also tried several OPENGL books before but had always missed it.

    I got this book for around 10 days and spent one week of them to repeat every code by myself. Not "copy paste" but I just did stupid input from keyboard, letter by letter. Actually it works.

    Now I am very happy because finally I am not afraid of those horrible commands and variables. If you are willing to following my way, I would highly recommend this fun book for their nice mini games. And also you can understand C++ better with Xcode.

    If you are not satisfied with this book only because you..., you know.

    1 out of 1 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
Sort by: Showing 1 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)