
[Fig: Rubik's Cube shader in action]
The following is a simple method to paint cube faces with different colours according to the directions of the object space vertex normals.
Latest code is here.
It could be a 'hello world' program for shader programming.