On 3/15/11 9:27 AM, dani rivas wrote:
> I would like to have a server for render the graphics and then a
> platform-dependent client. Then, I should have something independent of
> X11 and this way I could run my app in some platforms that do not run
> with X11.

Tried TurboVNC?  That is pretty much what it is designed to do.


> So, basically I will use VGL just for the server part (read the buffer,
> optimize everything that can be optimized, compress the image) and then
> send the image through a socket, the client would receive it and show it
> on it. That is what I would like to have.

If you were dealing only with an application that rendered to one
window, a solution that used the VGL Transport without X11 would be
feasible, and in fact, a very early prototype of VirtualGL did precisely
that.  The first incarnation of this software, which was developed as a
proprietary research project in 1999, took the form of a library called
RRLib (which is why a lot of the files still bear the name rr*).  RRLib
was linked into applications at compile time, not run time, and the
application had to make calls to the library to read back the 3D images,
compress them, and send them to the client.  The client used the native
drawing functions of whatever platform it was on.

The issue:  how to handle keyboard and mouse events and resize events
and just about everything else for which we rely upon X11.


> But like you say this can be difficult with VirtualGL as it is now. What
> I have thought is to have the 3D app running on "local" (on the server)
> and it will send the images to the client and the interaction should be
> between the client and the server (the 3D app at the same time) using
> special commands, this means that the app server and client are
> conscient of VirtualGL (not transparent anymore). I have a mess with all
> of this but this is the unique solution I've found, I would like
> something more transparent to the client and the server but I am aware
> this could be difficult.

I am still unclear as to why you would want or need to do this.


> 2011/3/14 DRC <[email protected]
> <mailto:[email protected]>>
> 
>     This is certainly uncharted territory, so I can't provide much
>     assistance or advice.  The problem is that the 3D application is an X11
>     application as well, and it expects to be able to draw its window
>     somewhere.  Minimally, you would have to:
> 
>     -- Use a 3D application that only has one window
>     -- Run XNest or Xephyr on the 3D server just to give the 3D application
>     somewhere to send its X11 commands
>     -- Run the 3D app in VirtualGL with the VGL Transport
>     -- Create an X11 sub-window on the client machine in order to receive
>     the 3D output
>     -- Embed your own version of vglclient into your app so you can control
>     where the 3D pixels are output (mainly, the window ID of the X11
>     sub-window is important)
>     -- Somehow figure out how to handle window resizes (normally, that
>     information gets sent back to the server via X11, but in your case, you
>     are dealing with two separate apps, so the information only gets
>     communicated to the "local" app, not the 3D app.)
> 
>     If I were doing this, I'd start by rewriting the 3D app so that it
>     doesn't use an X11 window at all but rather renders into a Pbuffer.
>     That at least eliminates the need for XNest/Xephyr, but it's still
>     unclear how you'd handle resize events from the client machine.
> 
>     I guess my main question would be:  why?!  What advantage is there to
>     running the app on the client machine?  Is it particularly
>     compute-intensive or something?
> 
> 
>     On 3/11/11 3:17 AM, dani rivas wrote:
>     > Hi everybody!
>     >
>     > I have to do an app which mainly consists in an "hybrid" between a Vgl
>     > window and a normal app window. That is that I would like to render
>     > the 3D of the app with VirtualGL in a different machine but I would
>     > like to have  the "skeleton" and other functionalities running on
>     > local. How could I do this? I have been a few days working with and
>     > testing the custom transport modes of the examples but I cannot figure
>     > out how to do it. Should I do the widget to listen to the port 4242
>     > and just print what it receives? Or Should I do something with the
>     > X11?
>     >
>     > Also I would like to send some info through my app to the app running
>     > with VGL (maybe a click button or something else, but very tiny).
>     >
>     > Does someone know something about how to do this? I am just looking
>     > for an advice or a little help to see how to continue.
>     >
>     > Thank you very much!
>     >
>     > 
> ------------------------------------------------------------------------------
>     > Colocation vs. Managed Hosting
>     > A question and answer guide to determining the best fit
>     > for your organization - today and in the future.
>     > http://p.sf.net/sfu/internap-sfd2d
>     > _______________________________________________
>     > VirtualGL-Users mailing list
>     > [email protected]
>     <mailto:[email protected]>
>     > https://lists.sourceforge.net/lists/listinfo/virtualgl-users
> 
>     
> ------------------------------------------------------------------------------
>     Colocation vs. Managed Hosting
>     A question and answer guide to determining the best fit
>     for your organization - today and in the future.
>     http://p.sf.net/sfu/internap-sfd2d
>     _______________________________________________
>     VirtualGL-Users mailing list
>     [email protected]
>     <mailto:[email protected]>
>     https://lists.sourceforge.net/lists/listinfo/virtualgl-users
> 
> 

------------------------------------------------------------------------------
Colocation vs. Managed Hosting
A question and answer guide to determining the best fit
for your organization - today and in the future.
http://p.sf.net/sfu/internap-sfd2d
_______________________________________________
VirtualGL-Users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/virtualgl-users

Reply via email to