OPENGL ES 3.0 IN ANDROID/IOS

Chapter 1, takes you through the process of how to develop the Android and iOS OpenGL ES 3.0 application. This chapter shows you how to load and compile a shader program apart from the process to program shaders in GL shading language 3.0.

OPENGL ES 3.0 ESSENTIALS

Chapter 2, provides you with a detailed description of the basic concepts that are required to understand 3D graphics and implement them using OpenGL ES 3.0.We will build prototypes using the GLPI framework and implement touch events and scene with model, view, and projection analogy.

OPENGL ES 3.0 NEW FEATURES

Chapter 3, helps you understand the various new features introduced in OpenGL ES 3.0 and GL shading language 3.0. This chapter tells you how to manage variable attributes with qualifiers and render multiple objects with geometry instancing and primitives with primitive restart.

WORKING WITH MESHES

Chapter 4, teaches you how to create simple meshes using Blender, which is an open source 3D modeling tool. In addition, this chapter covers various aspects of the 3D mesh model that will be helpful to render them in 3D graphics. This chapter also teaches how to use the created mesh model in OpenGL ES 3.0 applications.

LIGHT AND MATERIALS

Chapter 5, introduces the concepts of light and materials in 3D graphics. It also covers some important common illumination techniques, such as Phong and Gouraud shading, which will help you implement realistic looking lighting models in computer graphics.

WORKING WITH SHADERS

Chapter 6, gives you an in-depth understanding on the shaders programming technique. It discusses various techniques that can be implemented using the vertex and fragment shader, revealing their capabilities. This chapter helps you play with fragments by programing them using procedural shaders.

TEXTURE AND MAPPING TECHNIQUES

Chapter 7, sheds some light on textures, which is a very interesting part of the 3D computer graphics study. Texturing is a technique in which the surface of a 3D mesh model is painted with static images. This chapter is all about image texturing and explains its various applications in the field of 3D computer graphics. This chapter covers ample techniques on mapping, such as environment, bump, displacement mapping, and so on.

FONT RENDERING

Chapter 8, provides a detailed description on how to build the font engine and render different languages with Harfbuzz and text on Head Up Display (HUD).

POSTSCREEN PROCESSING AND IMAGE EFFECTS

Chapter 9, unfolds the endless possibilities of scene-based effects and image-based effects, which are widely used in the field of data visualization and after effects. This includes applications such as edge detection, image blurring, real-time glow, emboss effect, and so on.

SCENE MANAGEMENT WITH SCENE GRAPHS

Chapter 10, introduces a scene graph paradigm that allows you to program and manage complex scenes efficiently. This chapter will help you create a small architecture that allows you to manage multiple scenes. Each scene consists of multiple lights, cameras, and models.

ANTI-ALIASING TECHNIQUES

Chapter 11, tells you how to implement fast approximate antialiasing (FXAA), adaptive anti-aliasing, and anti-aliased circle geometry.

REAL-TIME SHADOWS AND PARTICLE SYSTEM

Chapter 12, shows you how to implement shadows using shadow mapping and improve it with percentile closer filtering and variance shadow mapping technique. It also discusses the basics of particle rendering. This chapter teaches you the transform feedback with sync objects and fence, which help you to implement high-performance, GPU-driven, real-time graphics applications.

SUPPLEMENTARY INFORMATION ON OPENGL ES 3.0

Appendix, covers all the basic requirements that we need to develop OpenGL ES 3.0 applications on the iOS and Android platform. This chapter teaches you two ways of Android application development with Android ADT and Android Studio. It also provides you a simple overview of OpenGL ES 3.0 architectures. This overview also helps you understand the technical jargon of various computer graphics terminology.