O'Reilly logo

Android NDK Game Development Cookbook by Viktor Latypov, Sergey Kosarevsky

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Unifying the GLSL 3 and GLSL ES 2 shaders

OpenGL 3 provides support for OpenGL Shading Language. In particular, OpenGL 3.2 Core Profile supports the GLSL 1.50 Core Profile. On the other hand, OpenGL ES 2 provides support for GLSL ES Version 1.0, and OpenGL ES 3 supports GLSL ES 3.0. There are minor syntax differences between these three GLSL versions, which we have to abstract in order to write portable shaders. In this recipe, we will create a facility to downgrade desktop OpenGL shaders, to become shaders compatible with OpenGL ES Shading Language 1.0.

Note

OpenGL ES 3 has backwards-compatible support for OpenGL ES Shading Language 1.0. For this purpose, we put #version 100 at the beginning of our shaders. However, if your application targets ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required