Real time application needs to switch its viewport between colour and black/white modes.
Well for producing of B/W mode after rendering in colour mode some final convertion like RGB->WWW where W=max(R,G,B)is needed. So how could that or something like that be obtained?
For example to make final convertion RGB->0G0 ( keeping Green component only ) is simple: just blend properly coloured polygon with próviously drawn scene.
To keep both colour and B/W variants of all textures and so on is not a solution.