Sign in to follow this  
7h0m

Unity Any progress on overlaying 3d apps (aka) games ala XFire?

Recommended Posts

Hellow there. I was just wondering where things are heading regarding overlaying 3d apps. I was just testing this piece of code: http://www.gamedev.net/community/forums/topic.asp?topic_id=445141 -- but the topic is closed, ... I am using Vista SP1 with the latest Nvidia drivers for my 8800GT and last DirectX available. It works fine on the desktop, but for the 3 games I've tested, it fails to appear on top of them (UT3, CnC 3 and Crysis). I am eager to hear any developpement on this particular subject. I have this idea for a killer app (I keep saying that but it does not mean anything until I can get this part working) and I feel stuck. If only I could just delimitate a zone where I could render my 'stuff' over 90% of 3d full screen games I could really get started. I hate bumping so if you guys have anything to say, go ahead. I'm always coming back to monitor my threads... Bye, thanks for reading.

Share this post


Link to post
Share on other sites
Hi,

Applications such as Fraps [url]http://www.fraps.com/[/url] display overlays on top of games and other 3D apps (using OpenGL or DirectX).

I think you could implement something like this under a Windows-based OS using function hooks. It's a while since I've looked at this stuff but in high-level terms it allows you to have a piece of code (in a DLL) that intercepts other system function calls (e.g. to OpenGL or DirectX libraries). Have a search on Google and MSDN for lots of docs.

Using this method you can intercept the end of the rendered frame (e.g. glFinish or the API's swap buffer function) to then invoke your own rendering.

This is just an idea and it may not work but worth investigating. I'm also not sure Vista supports this with its various new security features so your mileage may vary.

Good luck,
dhm

Share this post


Link to post
Share on other sites
dhm thanks for that quick reply!

google redirected me to gamedev again :) lol

http://www.gamedev.net/community/forums/topic.asp?topic_id=359794

and I tested it, it works! yippeedidoo

but I am wondering if it's the best way to go since I want to turn my app into a commercial one (or at least with a donation system >_<) and it might turn off people to have to 'patch' every game they wish to use with it. Perhaps I could do a wizard inside my app to patch a given game?

Also, do you think this tech will give me the leg work to display 'video streams' (low quality) inside that zone?

My objective now would be to make something move inside that zone, and then make it disappear and reappear.

reply to show me you're still alive :D

Share this post


Link to post
Share on other sites
Hi,

No worries. I looked into OpenGL function hooking to create a simple OpenGL logging/debug system so I had a controlled environment as it was my own app I was debugging.

I'm not sure I following when you say 'patch' each game? Could you elaborate - I'm maybe just forgetting the details of the hooking mechanism.

I know that Fraps manages to display an FPS counter overlay for DirectX (incl. 10) and OpenGL games - and it doesn't need to apply patches to the apps. It maybe has to be resident in memory before the game/app starts up.

If I get the chance I'll look back at my code to remind myself how its done.

I would imagine you can make 'video streams' as in texture map video file frames to a quad or something. But a warning that you may interfere with the game you are overlaying - be very careful about your chosen API's state management.

Cheers,
dhm

Share this post


Link to post
Share on other sites
Just had a quick look at my OpenGL tracing DLL project and found a reference to a Microsoft System Journal article from February 1998 - Bugslayer by John Robbins.

Hopefully this will give you more details.

Cheers,
dhm

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this