Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
OpenGL ES 2 for Android
Table of Contents
Early praise for OpenGL ES 2.0 for Android
Foreword
Acknowledgments
Welcome to OpenGL ES for Android!
What Will We Cover?
Who Should Read This book?
How to Read This Book
Conventions
Online Resources
Let’s Get Started!
Chapter 1: Getting Started
1.1 Installing the Tools
1.2 Creating Our First Program
1.3 Initializing OpenGL
1.4 Creating a Renderer Class
1.5 Using Static Imports
1.6 A Review
Part 1: A Simple Game of Air Hockey
Chapter 2: Defining Vertices and Shaders
2.1 Why Air Hockey?
2.2 Don’t Start from Scratch
2.3 Defining the Structure of Our Air Hockey Table
2.4 Making the Data Accessible to OpenGL
2.5 Introducing the OpenGL Pipeline
2.6 The OpenGL Color Model
2.7 A Review
Chapter 3: Compiling Shaders and Drawing to the Screen
3.1 Loading Shaders
3.2 Compiling Shaders
3.3 Linking Shaders Together into an OpenGL Program
3.4 Making the Final Connections
3.5 Drawing to the Screen
3.6 A Review
3.7 Exercises
Chapter 4: Adding Color and Shade
4.1 Smooth Shading
4.2 Introducing Triangle Fans
4.3 Adding a New Color Attribute
4.4 Rendering with the New Color Attribute
4.5 A Review
4.6 Exercises
Chapter 5: Adjusting to the Screen’s Aspect Ratio
5.1 We Have an Aspect Ratio Problem
5.2 Working with a Virtual Coordinate Space
5.3 Linear Algebra 101
5.4 Defining an Orthographic Projection
5.5 Adding an Orthographic Projection
5.6 A Review
5.7 Exercises
Chapter 6: Entering the Third Dimension
6.1 The Art of 3D
6.2 Transforming a Coordinate from the Shader to the Screen
6.3 Adding the W Component to Create Perspective
6.4 Moving to a Perspective Projection
6.5 Defining a Perspective Projection
6.6 Creating a Projection Matrix in Our Code
6.7 Switching to a Projection Matrix
6.8 Adding Rotation
6.9 A Review
6.10 Exercises
Chapter 7: Adding Detail with Textures
7.1 Understanding Textures
7.2 Loading Textures into OpenGL
7.3 Creating a New Set of Shaders
7.4 Creating a New Class Structure for Our Vertex Data
7.5 Adding Classes for Our Shader Programs
7.6 Drawing Our Texture
7.7 A Review
7.8 Exercises
Chapter 8: Building Simple Objects
8.1 Combining Triangle Strips and Triangle Fans
8.2 Adding a Geometry Class
8.3 Adding an Object Builder
8.4 Updating Our Objects
8.5 Updating Shaders
8.6 Integrating Our Changes
8.7 A Review
8.8 Exercises
Chapter 9: Adding Touch Feedback: Interacting with Our Air Hockey Game
9.1 Adding Touch Support to Our Activity
9.2 Adding Intersection Tests
9.3 Moving Around an Object by Dragging
9.4 Adding Collision Detection
9.5 A Review and Wrap-Up
9.6 Exercises
Part 2: Building a 3D World
Chapter 10: Spicing Things Up with Particles
10.1 Creating a Set of Shaders for a Simple Particle System
10.2 Adding the Particle System
10.3 Drawing the Particle System
10.4 Spreading Out the Particles
10.5 Adding Gravity
10.6 Mixing the Particles with Additive Blending
10.7 Customizing the Appearance of Our Points
10.8 Drawing Each Point as a Sprite
10.9 A Review
10.10 Exercises
Chapter 11: Adding a Skybox
11.1 Creating a Skybox
11.2 Loading a Cube Map into OpenGL
11.3 Creating a Cube
11.4 Adding a Skybox Shader Program
11.5 Adding the Skybox to Our Scene
11.6 Panning the Camera Around the Scene
11.7 A Review
11.8 Exercises
Chapter 12: Adding Terrain
12.1 Creating a Height Map
12.2 Creating Vertex and Index Buffer Objects
12.3 Loading in the Height Map
12.4 Drawing the Height Map
12.5 Occluding Hidden Objects
12.6 A Review
12.7 Exercises
Chapter 13: Lighting Up the World
13.1 Simulating the Effects of Light
13.2 Implementing a Directional Light with Lambertian Reflectance
13.3 Adding Point Lights
13.4 A Review
13.5 Exercises
Chapter 14: Creating a Live Wallpaper
14.1 Implementing the Live Wallpaper Service
14.2 Playing Nicely with the Rest of the System
14.3 A Review
14.4 Exercises
Chapter 15: Taking the Next Step
15.1 Looking Toward Other Platforms
15.2 Learning About More Advanced Techniques
15.3 Sharing Your Artistic Vision with the World
Appendix 1: The Matrix Math Behind the Projections
A1.1 The Math Behind Orthographic Projections
A1.2 The Math Behind Perspective Projections
Appendix 2: Debugging
A2.1 Debugging with glGetError
A2.2 Using Tracer for OpenGL ES
A2.3 Pitfalls to Watch Out For
Bibliography
You May Be Interested In…
← Prev
Back
Next →
← Prev
Back
Next →