The point here is to be able to paint everything, especially images, in such a way that everything drawn uses a 16-colour palette. The rectangles demo was just to verify that the shader works as expected, as noted up-thread.

I think you might be. The point of this was not to change the colour of squares per se, but change colours of bitmaps at the pixel level, on the fly. If you download my example earlier in the thread, you'll see what I mean. It has to work on bitmaps, in real time.

I'll try to alter the idea to keep 99% of colours unchanged.
The palettes sets should be present at the same spritesheet.

Yeah he did an awesome job. It's customised to my specific requirement of having a fixed palette. I understand that other people will want greater flexibility with the palette but it shouldn't be too hard to adjust it to suit. The basic concept is solid.