Advanced Display Option

Home Forums AR Sandbox Forum Advanced Display Option

This topic contains 5 replies, has 2 voices, and was last updated by  Oliver Kreylos 3 years, 9 months ago.

Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
    Posts
  • #100874

    Chrisss
    Participant

    Hello!

    I was wondering where the best place would be to send the view to another location. I do not want to display the view on a another display that is connected to the computer, rather the final goal deals with sending the data to another computer over a network. I assume this would be done in Vrui?

    Basically, I am looking for the location to “steal” the display and send it somewhere else!

    #100884

    Oliver Kreylos
    Keymaster

    That is not so easy. There is code in the development version of Vrui to send images to a remote display (primarily to use smartphones/tablets as secondary input/output devices), but that’s not released yet. It is possible to hack a piece of code into Vrui’s VRWindow class that grabs the window contents after rendering (exactly where the current screenshot code is), and sends the image across a network to a thin client for display.

    Vrui’s cluster mode would be another option, but unfortunately I never implemented an abstraction that replicates 3D video from a locally-connected Kinect across a cluster (it’s a very rare use case with a lot of extra work).

    The easiest option right now is to replicate the Kinect’s data stream across the network, and run two independent instances of the AR Sandbox off the same data. The Kinect package contains a KinectServer daemon to stream Kinect data, and while the AR Sandbox is currently not set up to connect to a Kinect server, that’s a relatively simple change.

    The two instances would not be synchronized, in that they see the same sand surface and hands, but not the same button presses. But combining a client-server Kinect pipe with Vrui’s cluster mode would exactly do the trick.

    #100893

    Chrisss
    Participant

    Thanks! I’ll begin working on it now. I’ll let you know how it goes!

    Also, when I copy the directory of the watercolor.fs(not actual name) with two separate files, they work fine except-the color doesn’t update until I close and reopen the SARndbox environment. Any fix?

    #100896

    Oliver Kreylos
    Keymaster

    Can you rephrase your question? I do not understand what you’re asking.

    Also, please keep an eye on this forum. I might post a SARndbox software update that can read from a Kinect server across a network (as I already put that code in my version for debugging purposes).

    #100897

    Chrisss
    Participant

    Awesome! That would be great! Any eta? And to rephrase the question:

    So I have the file “SurfaceAddWaterColor.fs” and I created two duplicates named “SurfaceAddWaterColor_Lava.fs” and “SurfaceAddWaterColor_Water.fs”. So while the SARndbox program is running, I replace the “SurfaceAddWaterColor.fs” with either of the two other file I have. When I do this, the color of the water does not change while the SARndbox is running. If I close the program and reopen, then the water color will match the file I copied to replace the main file.

    So for example: it was water colored, then I did “cp SurfaceAddWaterColor-Lava.fs SurfaceAddWaterColor.fs” and nothing changes. Now I quit SARndbox and restart it. Now the water is lava colored.

    I believe it should be able to update without completely quiting the program? How would I make the program update after I change it without quitting SARndbox?

    Thank you!

    #100903

    Oliver Kreylos
    Keymaster

    Does the display update automatically when you manually edit the SurfaceAddWaterColor.fs file with a text editor?

    The SARndbox application uses Linux file system updates to listen for changes to its shader files. Using cp might not trigger a notification, as the Linux file system uses double-buffering of a sort to shield applications that have a file open from external changes to those files (like updating a dynamic library that’s currently used by a process).

    If manual updates work, you could try this instead of cp:

    $ cat SurfaceAddWaterColor-Lava.fs > SurfaceAddWaterColor.fs

    This should have the same effect as manual editing.

Viewing 6 posts - 1 through 6 (of 6 total)

You must be logged in to reply to this topic.

Comments are closed.