Converting to Black/White image

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.

Thanks.

Switching from colours to BW has already been discussed here. although we didn’t find a suitable realtime solution, you might be interested in this : http://www.opengl.org/discussion_boards/ubb/Forum3/HTML/001378.html