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

Reply via email to