I've had a bit of success adding interlaced stereo 3D support to my own OpenGL programs using this (somewhat crude) technique:
- Clear the scene
- Use the Z buffer to mask out the odd scan lines
- Draw the scene from the left eye perspective
- Use the Z buffer to mask out the even scan lines
- Draw the scene from the right eye perspective
- Show the scene
It has some obvious limitations (e.g. falls over if the program switches off Z testing) but so far the results have been promising. It's also easy to switch to anaglyph stereo by using glColorMask to mask out the colour channels instead of masking out scan lines. And it doesn't require any special buffers.
I reckon I could bundle it into a driver if I could intercept a handful of OpenGL functions. But I'm not sure how to do this.
Googling has lead me to "IAT patching" but most of the information is old and I don't want to use a hacky technique that antivirus or Windows UAC would block.
Is there a "right" way to go about this?
Anaglyph Interlaced