PDA

View Full Version : Showing another program in a virtual world


Frank Verberne
01-14-2013, 12:49 AM
Hi all,

I would like for participants to see a 2D object in a 3D virtual world on which another program is shown. This program is dynamical, and should act like that in the virtual world. I think I have to use a rendernode for that, but I'm not sure how I could use a rendernode to show the content of another program. Essentially, I would like to run 2 program simultaneously (namely Vizard and Authorware) and I want the content of the Authorware program to be visible in the Vizard environment while participants are wearing our HMD. Any tips on how I could achieve something like that would be greatly appreciated! Furthermore, it would be neat if the Authorware program could get focus, so that that program will respond to key-presses, and not Vizard.

Regards,
Frank

jpriede
01-14-2013, 09:42 AM
I haven't done it, but if you look in vizard help for Generic Capture Devices you'll find:
"This VideoCamera implementation provides an interface to connect to any standard DirectShow capture device. This commonly includes web cameras and DV cameras."

You might be able to use some video capture software like VLC to capture the desktop and stream it out via directshow.

http://www.videolan.org/vlc/streaming.html

You can open your screen from vlc by opening "screen://"

Frank Verberne
01-15-2013, 05:10 AM
Thanks for the suggestion jpriede! I'm going to look into this further and see if we can get this to work like this.

Frank Verberne
01-16-2013, 10:26 AM
The eventual solution I have chosen is to use the VideoCamera.dle to get the feed from a webcam connected to the computer running Vizard. That feed is projected on a texquad in Vizard. The camera is pointed to another computer, on which the Authorware program runs. Simple, but it works.

While working on the VLC screen capture capabilities, we were thinking about how to send that live feed over a network to the computer running Vizard. Furthermore, we were not sure how to 'catch' that feed in Vizard. I guess using sockets would be a solution (although I have never used sockets before to receive video). If anyone has a sample script on how to get a live screen capture from VLC (or from a webcam or whatever), I'm still very interested. Always good to learn more!