# Flip the whole Directx output horizontally (mirror the output)

I would like to flip the whole fullscreen directX output horizontally so that the final output is presented mirror inverted.

Is there a way to create a IDirect3DDevice9 instance which produces mirrored output? Or even better: is there a way I can mirror the output just before the final call to the Present(...) method of the IDirect3DDevice9?

Update/Clarification: The underlying objective is to be able to use a projector which needs vertically flipped input. The software I am currently using allows to register callbacks and hands over a handle to the IDirect3DDevice9 instance. After my method is called and returns, the directx output is presented. This repeats after each frame.

I would like to flip the presented output horizontally.

I tried the following:

• Use settings of the projector to flip the image (not supported)
• Find a setting in the Operating System (windows7 doesn't support flipping of the image)
• Find a setting in the graphics driver (AMD Catalyst) but only rotation is supported, not horizontal flipping

I have only little experience with directx so please bear with me (this is also why I would appreciate sample code or at least pointers to the right direction).

Update2: I found out that I should be able to call SetTransform on the Direct3DDevice9 handle to change the D3DTS_PROJECTION with a proper Matrix. However this does not work in my example application.