Shaders are little programs that can be run on the prepared geometry (vertices) or rendered fragments just before they get rendered on screen. Fragments are like pixels before they get thrown on the screen.
Shaders can create amazing effects by displacing vertices, coloring fragments, and so on. It's the most advanced topic that appears in this book, but every game developer should know that they exist.
Every entity, in fact, already uses a very simple vertex and fragment shader program that doesn't do anything than to display the correct geometry with the correct color. The shapes use a single color and the sprites use texture coordinates.
We are going to create a very simple shader program that will turn our platforms black and white.
The code for the shader programs is long and it contains low level OpenGL calls. We will use the basic shader program available in AndEngine and modify it a little. The new program class is called
BWShaderProgram. It contains a simple vertex shader that...