   Stereo Vision hook
  Hi,I'm trying to create a hook that will hack into any game written with DirectX 9 and create a stereo vision effect on the z800 3d Visor just like the Nvidia 3D drivers do, but I need this to work with ATI cards too. The effect I want is that of moving the camera position left and right. One idea was to hook into the setMatrix function, but this won't work because we won't know what the name of the camera matrix will be. Plus many games just pass in the view * projection * world matrix which we can't decompose to get just the view matrix. Another idea was to hook the present() function. Here we could get the backbuffer, copy it as a texture onto a quad and move the quad left and right. This doesn't create a stereo effect because the separation needs to get less and less the deeper we are into the scene. We know it is possible to create this effect because that is what the nVidia drivers are doing, but we don't know HOW they are doing it. If anyone has any ideas please let me know.Thanks,Lance   
  I have been pondering this problem too and I don't think there's any good solution. Now I can see how it would work for fixed function pipeline since by hooking SetTransform and SetRenderState you would know when the view and projection matrices are being updated. In the case of shaders nvidia knows what matrix the vertices are transformed with and can work out a resonable eye disparity based on this.I just don't understand why D3D doesn't support stereo rendering like OpenGL has done for decades. I would really like to run some of the D3D apps I'm working on in stereo in the CAVE here at my universiy.   