OpenGL ES technology underlies the user interface and graphical capabilities exhibited by Apple’s iOS devices, iPhone, iPod Touch, and iPad. The “ES” stands for Embedded Systems, and the same technology applies to video game consoles and aircraft cockpit displays, as well as a wide range of cell phones from almost every manufacturer. OpenGL ES is a subset of the OpenGL versions used with desktop operating systems. As a result, OpenGL ES applications are often adaptable to desktop systems, too.
This book introduces modern graphics programming and succinctly explains the effective uses of OpenGL ES for iOS devices. Numerous example programs demonstrate graphics programming concepts. The website at http://opengles.cosmicthump.com/ hosts the examples, related articles, and any errata discovered after publication. This book serves as a gentle but thorough explanation of graphics technology from the lowest-level bit manipulation to advanced topics.
A significant challenge to learning graphics programming manifests the first time you try to sort through piles of misleading information and out-of-date examples littering the Internet. OpenGL started as a small software library for state-of-the-art graphics workstations in 1992. Graphics hardware improved so much so quickly that handheld devices now outperform the best systems money could buy when OpenGL was new. As hardware advanced, some of the compromises and assumptions made by the designers of OpenGL lost relevance. At least 12 different versions of the OpenGL standard exist, and modern OpenGL ES omits support for many techniques that were common in previous versions. Unfortunately, obsolete code, suboptimal approaches, and anachronistic practices built up over decades remain high in Google search results. This book focuses on modern, efficient approaches and avoids distractions from irrelevant and obsolete practices.