OpenGL ES 3.0 Cookbook

Over 90 ready-to-serve, real-time rendering recipes on Android and iOS platforms using OpenGL ES 3.0 and GL shading language 3.0 to solve day-to-day modern 3D graphics challenges

OpenGL ES 3.0 Cookbook

Parminder Singh

1 customer reviews
Over 90 ready-to-serve, real-time rendering recipes on Android and iOS platforms using OpenGL ES 3.0 and GL shading language 3.0 to solve day-to-day modern 3D graphics challenges
Mapt Subscription
FREE
$29.99/m after trial
eBook
$28.00
RRP $39.99
Save 29%
Print + eBook
$49.99
RRP $49.99
What do I get with a Mapt Pro subscription?
  • Unlimited access to all Packt’s 5,000+ eBooks and Videos
  • Early Access content, Progress Tracking, and Assessments
  • 1 Free eBook or Video to download and keep every month after trial
What do I get with an eBook?
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with Print & eBook?
  • Get a paperback copy of the book delivered to you
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with a Video?
  • Download this Video course in MP4 format
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
$0.00
$28.00
$49.99
$29.99p/m after trial
RRP $39.99
RRP $49.99
Subscription
eBook
Print + eBook
Start 30 Day Trial
Subscribe and access every Packt eBook & Video.
 
  • 5,000+ eBooks & Videos
  • 50+ New titles a month
  • 1 Free eBook/Video to keep every month
Start Free Trial
 
Preview in Mapt

Book Details

ISBN 139781849695527
Paperback514 pages

Book Description

"Write once, use anywhere" is truly the power behind OpenGL ES and has made it an embedded industry standard. The library provides cutting-edge, easy-to-use features to build a wide range of applications in the gaming, simulation, augmented-reality, image-processing, and geospatial domains.

The book starts by providing you with all the necessary OpenGL ES 3.0 setup guidelines on iOS and Android platforms. You'll go on to master the fundamentals of modern 3D graphics, such as drawing APIs, transformations, buffer objects, the model-view-project analogy, and much more. The book goes on to deal with advanced topics and offers a wide range of recipes on the light shading, real-time rendering techniques with static and procedure textures to create stunning visualizations and runtime effects.

Table of Contents

Chapter 1: OpenGL ES 3.0 on Android/iOS
Introduction
Programming shaders in OpenGL ES shading language 3.0
Loading and compiling a shader program
Linking a shader program
Checking errors in OpenGL ES 3.0
Using the per-vertex attribute to send data to a shader
Using uniform variables to send data to a shader
Programming OpenGL ES 3.0 Hello World Triangle
Using JNI on Android to communicate with C/C++
Developing an Android OpenGL ES 3.0 application
Developing an iOS OpenGL ES 3.0 application
Chapter 2: OpenGL ES 3.0 Essentials
Introduction
Building prototypes using the GLPI framework
Implementing touch events
Rendering primitives with vertex arrays
Drawing APIs in OpenGL ES 3.0
Efficient rendering with Vertex Buffer Object
Transformations with the model, view, and projection analogies
Understanding the projection system in GLPI
Culling in OpenGL ES 3.0
Depth testing in OpenGL ES 3.0
Chapter 3: New Features of OpenGL ES 3.0
Introduction
Managing variable attributes with qualifiers
Grouping uniforms and creating buffer objects
Managing VBO with Vertex Array Objects
Reading and writing buffer objects with mapping
Render multiple objects with geometry instancing
Rendering multiple primitives with primitive restart
Chapter 4: Working with Meshes
Introduction
Creating polygon meshes with Blender
Rendering the wavefront OBJ mesh model
Rendering the 3Ds mesh model
Chapter 5: Light and Materials
Introduction
Implementing the per-vertex ambient light component
Implementing the per-vertex diffuse light component
Implementing the per-vertex specular light component
Optimizing the specular light with the halfway vector
Gouraud shading – the per-vertex shading technique
Phong shading – the per-fragment shading technique
Implementing directional and point light
Implementing multiple lights in a scene
Implementing two-side shading
Chapter 6: Working with Shaders
Introduction
Implementing the wobble and ripple effect
Procedural texture shading with object coordinates
Creating the circular pattern and making them revolve
Generating the brick pattern
Generating the polka dot pattern
Discarding fragments
Procedural texture shading with texture coordinates
Chapter 7: Textures and Mapping Techniques
Introduction
Applying texture with UV mapping
Efficient rendering with the ETC2 compressed texture
Applying multiple textures
Implementing Skybox with seamless cube mapping
Implementing reflection and refraction with environment mapping
Implementing render to texture with Frame Buffer Objects
Implementing terrain with displacement mapping
Implementing bump mapping
Chapter 8: Font Rendering
Introduction
Font rendering with the FreeType project
Rendering different languages with Harfbuzz
Rendering text on Head Up Display
Chapter 9: Postscreen Processing and Image Effects
Introduction
Detecting scene edges with the Sobel operator
Making the scene blur with the Gaussian blur equation
Making a scene glow real time with the bloom effect
Painting the scene like a cartoon shading
Generating an embossed scene
Implementing grayscale and CMYK conversions
Implementing fisheye with barrel distortion
Implementing the binocular view with procedural texturing
Twirling the image
Sphere illusion with textured quadrilateral
Chapter 10: Scene Management with Scene Graphs
Introduction
Implementing the first scene using a scene graph
Adding local and relative transformations
Adding parent-child support in the scene graph
Creating complex models with a transformation graph
Implementing picking with the ray trace technique
Implementing 2D textured button widgets
Navigating the scene with a camera system
Implementing the scene with multiple views
Chapter 11: Anti-aliasing Techniques
Introduction
Understanding the sampling rate technique
Understanding the post processing technique
Implementing fast approximate anti-aliasing
Implementing adaptive anti-aliasing
Implementing an anti-aliased circle geometry
Chapter 12: Real-time Shadows and Particle System
Introduction
Creating shadows with shadow mapping
Softening the shadow edges using PCF
Using variance shadow mapping
Simulating the particle system
Transform feedback particle system with sync objects and fences

What You Will Learn

  • Learn the essentials and exciting new features of OpenGL ES 3.0
  • Discover the physics behind fundaments of light and material concepts with easy-to-follow examples
  • Scratch the fragments with procedural shaders and learn how they work
  • Master the basics of texturing, use compressed textures, and learn numerous mapping techniques
  • Manage complex scenes with scene graphs and learn post-processing and image-processing techniques
  • Build your font engine with multilingual support
  • Master the working of recognized anti-aliasing techniques and implement FXAA and adaptive anti-aliasing

Authors

Table of Contents

Chapter 1: OpenGL ES 3.0 on Android/iOS
Introduction
Programming shaders in OpenGL ES shading language 3.0
Loading and compiling a shader program
Linking a shader program
Checking errors in OpenGL ES 3.0
Using the per-vertex attribute to send data to a shader
Using uniform variables to send data to a shader
Programming OpenGL ES 3.0 Hello World Triangle
Using JNI on Android to communicate with C/C++
Developing an Android OpenGL ES 3.0 application
Developing an iOS OpenGL ES 3.0 application
Chapter 2: OpenGL ES 3.0 Essentials
Introduction
Building prototypes using the GLPI framework
Implementing touch events
Rendering primitives with vertex arrays
Drawing APIs in OpenGL ES 3.0
Efficient rendering with Vertex Buffer Object
Transformations with the model, view, and projection analogies
Understanding the projection system in GLPI
Culling in OpenGL ES 3.0
Depth testing in OpenGL ES 3.0
Chapter 3: New Features of OpenGL ES 3.0
Introduction
Managing variable attributes with qualifiers
Grouping uniforms and creating buffer objects
Managing VBO with Vertex Array Objects
Reading and writing buffer objects with mapping
Render multiple objects with geometry instancing
Rendering multiple primitives with primitive restart
Chapter 4: Working with Meshes
Introduction
Creating polygon meshes with Blender
Rendering the wavefront OBJ mesh model
Rendering the 3Ds mesh model
Chapter 5: Light and Materials
Introduction
Implementing the per-vertex ambient light component
Implementing the per-vertex diffuse light component
Implementing the per-vertex specular light component
Optimizing the specular light with the halfway vector
Gouraud shading – the per-vertex shading technique
Phong shading – the per-fragment shading technique
Implementing directional and point light
Implementing multiple lights in a scene
Implementing two-side shading
Chapter 6: Working with Shaders
Introduction
Implementing the wobble and ripple effect
Procedural texture shading with object coordinates
Creating the circular pattern and making them revolve
Generating the brick pattern
Generating the polka dot pattern
Discarding fragments
Procedural texture shading with texture coordinates
Chapter 7: Textures and Mapping Techniques
Introduction
Applying texture with UV mapping
Efficient rendering with the ETC2 compressed texture
Applying multiple textures
Implementing Skybox with seamless cube mapping
Implementing reflection and refraction with environment mapping
Implementing render to texture with Frame Buffer Objects
Implementing terrain with displacement mapping
Implementing bump mapping
Chapter 8: Font Rendering
Introduction
Font rendering with the FreeType project
Rendering different languages with Harfbuzz
Rendering text on Head Up Display
Chapter 9: Postscreen Processing and Image Effects
Introduction
Detecting scene edges with the Sobel operator
Making the scene blur with the Gaussian blur equation
Making a scene glow real time with the bloom effect
Painting the scene like a cartoon shading
Generating an embossed scene
Implementing grayscale and CMYK conversions
Implementing fisheye with barrel distortion
Implementing the binocular view with procedural texturing
Twirling the image
Sphere illusion with textured quadrilateral
Chapter 10: Scene Management with Scene Graphs
Introduction
Implementing the first scene using a scene graph
Adding local and relative transformations
Adding parent-child support in the scene graph
Creating complex models with a transformation graph
Implementing picking with the ray trace technique
Implementing 2D textured button widgets
Navigating the scene with a camera system
Implementing the scene with multiple views
Chapter 11: Anti-aliasing Techniques
Introduction
Understanding the sampling rate technique
Understanding the post processing technique
Implementing fast approximate anti-aliasing
Implementing adaptive anti-aliasing
Implementing an anti-aliased circle geometry
Chapter 12: Real-time Shadows and Particle System
Introduction
Creating shadows with shadow mapping
Softening the shadow edges using PCF
Using variance shadow mapping
Simulating the particle system
Transform feedback particle system with sync objects and fences

Book Details

ISBN 139781849695527
Paperback514 pages
Read More
From 1 reviews

Read More Reviews

Recommended for You

OpenGL Development Cookbook Book Cover
OpenGL Development Cookbook
$ 29.99
$ 21.00
OpenGL 4 Shading Language Cookbook, Second Edition Book Cover
OpenGL 4 Shading Language Cookbook, Second Edition
$ 32.99
$ 23.10
Mastering OpenCV with Practical Computer Vision Projects Book Cover
Mastering OpenCV with Practical Computer Vision Projects
$ 26.99
$ 5.40
Learning Game Physics with Bullet Physics and OpenGL Book Cover
Learning Game Physics with Bullet Physics and OpenGL
$ 17.99
$ 12.60
OpenGL Game Development By Example Book Cover
OpenGL Game Development By Example
$ 47.99
$ 33.60
OpenCV Computer Vision Application Programming Cookbook Second Edition Book Cover
OpenCV Computer Vision Application Programming Cookbook Second Edition
$ 26.99
$ 18.90