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.