title: how to implement grayscale rendering in OpenGL?
body: <p>When rendering a scene of textured polygons, I'd like to be able to switch between rendering in the original colors and a "grayscale" mode. I've been trying to achieve this using blending and color matrix operations; none of it worked (with blending I couldn't find a glBlendFunc() that achieved something remotely resembling to what I wanted, and color matrix operations <a href="https://stackoverflow.com/questions/789904/opengl-color-matrix">...are discussed here</a>).</p>
  
  <p>A solution that comes to mind (but also is rather expensive) is to capture the screen every frame and convert the resulting texture to a grayscale one and display that instead... (Where I said grayscale I actually meant anything with a low saturation, but I'm guessing for most of the possible solutions it won't differ all that much from grayscale).</p>
  
  <p>What other options do I have?</p>