Click to See Complete Forum and Search --> : Intercepting graphics output


duckfeet
August 11th, 2009, 04:26 PM
Is it possible to intercept the graphics output of a program?

The problem is that some old games (direct x 5 era) flicker awfully (first frame fine, second frame completely black, third fine, etc).

Now this is obviously a driver issue but it doesn't look like Nvidia is going to sort it this side of doomsday so..

Now I know some basic c++, i'm just wonderig if it'd be possible for me to write a program which will basically stop black screens being outputed basically just display the previous frame)

Now i don't know much about direct x, i'm just curious to know if somethink like this would be possible.

STLDude
August 11th, 2009, 07:02 PM
Yes, you can create dx proxy dll which will intercept the calls and then you can route them as appropriate. This is of course simplification, but it should be enough to send you on google search and just for starters look here (http://www.codeguru.com/cpp/g-m/directx/directx8/article.php/c11453). It talks about DX8, but the concept is the same.

duckfeet
August 12th, 2009, 08:24 PM
Thank you that looked great.

I've done a bit of googling and according to http://forums.xna.com/forums/t/5048.aspx directx 7 goes though ddraw.dll (I presume dx 5 does the same).

I don't think I've the technical ability to achieve but i'm going to give it ago.