MTASZTAKI / ApertusVR

Virtual Reality Software Library
http://apertusvr.org
MIT License
163 stars 47 forks source link

I don't know how to use cave #209

Open wangdemon opened 2 years ago

wangdemon commented 2 years ago

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

pkovacs86 commented 2 years ago

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 commented 2 years ago

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 commented 2 years ago

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 commented 2 years ago

(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 commented 2 years ago

(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 commented 2 years ago

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 commented 2 years ago

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