Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

I don't know how to use cave #209

Open
wangdemon opened this issue Aug 4, 2022 · 7 comments
Open

I don't know how to use cave #209

wangdemon opened this issue Aug 4, 2022 · 7 comments

Comments

@wangdemon
Copy link

I don't know how to use cave, and I can't find any documents related to cave

@pkovacs86
Copy link
Contributor

Hello,

Unfortunately, no documentation for the CAVE capabilities, but I can help you if you give me more details about your CAVE system.
What kind of head tracking hardware do you have?
How many walls are involved?
Do you have stereo displays?

Regards,
Peter

@wangdemon
Copy link
Author

I don't know the specific model of the our company's CAVE equipment yet, because our CAVE equipment is classified, so I need to apply to our leaders to view the information of the CAVE equipment. Before that, can you tell me how to run CAVE related programs on six computers?

@pkovacs86
Copy link
Contributor

I see.
We only have experience with one single computer (2pcs P4000 Nvidia Quadro + Quadro Sync II) with 6 projectors.
You can see the stereo render (3 walls, 6 projectors, and of-axis projection) here below:
https://www.youtube.com/watch?v=PfWV7DaCZGc&list=PLMFKeF-URkJqHTYf4b8KM9GQTOuBV5X1K&index=22
You can see the mono render (3 walls, 3 projectors, and off-axis projection) here below:
https://www.youtube.com/watch?v=SQu0bramAEU&list=PLMFKeF-URkJqHTYf4b8KM9GQTOuBV5X1K&index=21

IMHO, the synchronization of 6 computers could be a performance bottleneck.
Based on our experiences the preferred way is to use one single computer with Nvidia Quadro GPUs and synchronize them with the Mosaic Technology therefore you can span one single render window among the displays.
https://images.nvidia.com/aem-dam/en-zz/Solutions/design-visualization/quadro-product-literature/NVMosaic-UG.pdf

We are open to supporting you, just drop me an email (peter.kovacs(at)sztaki.hu)

Peter

@wangdemon
Copy link
Author

(1) Have you used network cluster rendering for your cave related projects?
(2) When you use 1 (renderer) + 6 (projector) to do cave related projects, are their rendering frames (FPS) only one sixth of the rendering frame rate of one rendering host?
(3) Our hardware configuration is as follows:
12 computer + 6 projectors(and 6 screens).
The matching scheme can be: 1+6,6+6,12+6

@pkovacs86
Copy link
Contributor

pkovacs86 commented Aug 5, 2022

(1) - No
(2) - No, just check out the videos again. As you can see the frame rate is 60.
(3) - Yes, you can find the answer here below in the "Matching Displays" section.
https://images.nvidia.com/aem-dam/en-zz/Solutions/design-visualization/quadro-product-literature/NVMosaic-UG.pdf
"
8-display requirements:
• Two Quadro GP100/P6000/P5000/P4000/M6000 24GB /M6000/M5000/M4000/
K6000/K5200/K4200 in SLI mode, or
• Two Quadro M6000 24GB/M6000/M5000/M4000/K6000/K5200/K4200 SLI cards, or
• Two Quadro M6000 24GB/M6000/M5000/M4000/K6000/K5200/K4200 cards plus
Quadro Sync, or
• Two Quadro GP100/P6000/P5000/P4000 cards plus Quadro Sync II, or
• Two, three, or four Quadro cards in one system
"
If you would like to use one single computer with one of the above mentioned GPU configuration then you can use the following ApertusVR sample to try your cave display:
https://github.com/MTASZTAKI/ApertusVR/tree/0.9/samples/industry40/manufactureCellMonitoring/localCAVE
As you can see in the configuration json file of the sample:
https://github.com/MTASZTAKI/ApertusVR/blob/0.9/samples/industry40/manufactureCellMonitoring/localCAVE/apeCore.json#L2
the KinectHeadTrackingPlugin will provide the position data of the user and will calculate the off-axis projection
https://github.com/MTASZTAKI/ApertusVR/blob/0.9/samples/industry40/manufactureCellMonitoring/localCAVE/apeCore.json#L7
for the OgreRenderPlugin
https://github.com/MTASZTAKI/ApertusVR/blob/0.9/samples/industry40/manufactureCellMonitoring/localCAVE/apeCore.json#L4
and you can set up your resolution here and the desired cameras as well
https://github.com/MTASZTAKI/ApertusVR/blob/0.9/samples/industry40/manufactureCellMonitoring/localCAVE/apeOgreRenderPlugin.json

So if you have a simple Kinect2 device then you can track the head position of the user within the CAVE.
Just place the Kinect2 device somewhere in your CAVE and configure the position via this config json of the sample:
https://github.com/MTASZTAKI/ApertusVR/blob/0.9/samples/industry40/manufactureCellMonitoring/localCAVE/apeKinectHeadTrackingPlugin.json

@wangdemon
Copy link
Author

Thank you for your selfless dedication. It's very kind of you.
My main demand now is how to achieve cluster rendering, because there are multiple computers. Our cave is the same, with 6 computers.
Thank you for your warm help.

@pkovacs86
Copy link
Contributor

You are welcome.

In the 0.9 release we don't have any prepared sample for the "cluster rendering"
https://github.com/MTASZTAKI/ApertusVR/releases/tag/v0.9

Of course, you can create your own ApertusVR sample for cluster rendering.
You can use our prepared "multiPlayer" sample.
Here below you can find the "host"
https://github.com/MTASZTAKI/ApertusVR/tree/0.9/samples/multiPlayer/helloWorldHost
And you can find the "guest"
https://github.com/MTASZTAKI/ApertusVR/tree/0.9/samples/multiPlayer/helloWorldGuest

You can run 1 host and connect 5 guests to test your cluster.
However to create the real "clusterRender" sample you have to modify lot of things.

Before doing anything more you have to answer to the following questions:
1: Do you have any synchronization hardware to synchronize your 6 computers?
2: Do you have head tracking hardware?
Without these essential hardwares, I guess you won't be able to create a good user experience.
If you can share the specification of these hardwares then I can help you in the details as well.

Regards
Peter

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants