Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
Using normal vectors requires storage for three floating-point values (12 bytes) in addition to the vertex position coordinates fore every lighted vertex. An extra 12 bytes per vertex adds up quickly when thousands or hundreds of thousands of vertices exist that define the geometry of a scene. Those extra 12 bytes not only consume scarce GPU-controlled memory, they also have to be read by the GPU every time the geometry is rendered.
If textures are being used anyway, one alternative to the OpenGL ES lighting simulation is to bake lighting into an existing texture. Textures are introduced in Chapter 3. In other words, apply textures that already contain the light and dark areas the lighting simulation would generate. Example OpenGLES_Ch4_2 uses a texture that includes lighting effects including shadows.