On Fri, 2008-10-31 at 14:33 +0000, Robert Osfield wrote: > Hi All, > > Elements of the Volume rendering project that is now underway are to > do with doing multi-media/multi-application presentations in 3D, with > volume rendering the central media of interest, but also bring in > other media/applications is of interest. This this end one of the > ideas we've come up with is putting a vnc window into a Present3D > presentation, originally I had expected this to be rather a large > task, but thankfully it's not been difficult at all thanks to to > availability of LIbVNCServer that does all the hard work for us ;-) > > As a experiment I've written a very simple example, osgvnc, that has > an osg::Image that serves as the buffer that the LibVNCServer client > library fills in your us, this Image is just applied to a standard > Texture2D and standard osg::Geometry. Added an event handler that > manages the projection of mouse coords onto the geometry and then into > the coords of the remote desktop, it then send the mouse events and > keyboard events to the remote desktop. All this is done with just 268 > lines of code. > > To test it out you'll need to run a standard vnc server (tight vnc is > supported) on your remote machine - I'm just running two computers > here on a local network and running osgvnc like: > > osgvnc 10.0.0.2
Also works with Gnome's "Vino" remote desktop VNC client. :) Coudn't attach a screenshot (way too big), but here's a link: http://the-bob.org/~jlmoles/osgvnc.png > This brings up fullscreen 3d window with a quad with the remote > desktop on it, moving the mouse on quad starts mouse on other remote > desktop moving, and type into a window term I've run osgviewer cow.osg > on the remote machine. Attached is the result, 3d in 2d in 3d! > > This little experiment doesn't solve the problem of getting a VNC > window into Present3D, for this my thought is to create plugin that > has code very similar to osgvnc embedded in it, and when you do a > readImageFile() or readNodeFile() on a string like 10.0.0.2.vnc it'll > create the scene graph that we can then use in any of apps, so one > would be able to do: > > osgviewer 10.0.0.2.vnc > > And have it automatically create a usable subgraph for us. At least > that's the theory. It might actually be worth creating an osgWidget > class for managing such subgraphs - such as the input/output to it, > it's early days right now so I'm open to suggestions. > > One of the fun possibilities to this vnc functionality would be to > have 3D virtual environments that map to the real world, such as to > have a virtual room with computers in it, and you could walk to a > computer, switch it on and get a connection to the real machine and > see its real desktop. > > Or perhaps a more practical one - the zooming and panning capabilities > of a 3D surface are fluid, so perhaps it might make it possible to > have a remote desktop client for people with impaired sight. > > Have fun! > Robert. > _______________________________________________ > osg-users mailing list > [email protected] > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org _______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

