#1
|
|||
|
|||
Four-wall CAVE using two PCs
We've trying to add a second computer to our CAVE and are running into problems with configuring the windows for the cave walls. Each computer has two gfx cards, with each card driving one wall. How do I specify that a window only get created on the client system? I've tried doing this:
Code:
viz.cluster.pushMask(viz.CLIENT1) window4 = viz.addWindow(pos=(0,0.5),size=(1.0,0.5)) window4.fov(72.0,1.25) window4.clearcolor(GD_vars.CLEAR_COLOR) window4.stereo(viz.QUAD_BUFFER) viz.cluster.popMask() ... BottomWall = vizcave.Wall(upperLeft=(-scr_hw,0,5*0.3048), upperRight=(scr_hw,0,5*0.3048), lowerLeft=(-scr_hw,0,-3*0.3048), lowerRight=(scr_hw,0,-3*0.3048), name='BottomWall' ) ... cave.addWall(BottomWall,window=window4, mask=viz.CLIENT1) window4.visible(GD_vars.CAVE_FLOOR) Code:
Traceback (most recent call last): File "<string>", line 11, in ? File "abrams_interior_don.py", line 43, in ? import GD_Displays File "Y:\Users\tidrow\devel\CAVE\GD_python\GD_Displays.py", line 51, in ? window4.setPosition(0,5) File "C:\Program Files\WorldViz\Vizard30/python\viz.py", line 3457, in setPosition _ipcSend(_VIZ_WINDOWPOS,self.id,mode,'',left,top,0.0,0.0) TypeError: param1 must be an int Don |
#2
|
|||
|
|||
Hmm... Not sure if this is the problem, but the traceback seems to be pointing to a line ( window4.setPosition(0,5) ) that is not in your posted code. Have you tried wrapping that line in viz.cluster.pushMask(viz.CLIENT1) and viz.cluster.popMask()?
Me thinks you are getting this error on the master because you did not create a window4 there due to your pushMask commands. Seems the Python variable is valid on the master, but the window does not exist in the engine, and self.id, aka param1, is probably None/NULL.
__________________
Paul Elliott WorldViz LLC |
#3
|
|||
|
|||
Don,
Just curious, were you able to get this to work? How is performance with multiple screens per system with big models? Ray |
#4
|
|||
|
|||
Quote:
Don |
#5
|
|||
|
|||
Quote:
Also I've seen some references to a 'vizcore.cfg' file, should I add this file and include a line like this: viz.cluster.master.clients = ['master', 'client'] Or is this taken care of by the Vizard Cluster Master and Client apps? The docs I've seen so far aren't especially clear on how to open multiple windows on the client machines, if somebody could paste a link to docs that explain it better I'd appreciate it. |
#6
|
|||
|
|||
You don't need to specify the cfg options if you are using the cluster master app.
Regarding your original problem, Gladsomebeast is correct. You cannot use the push/popMask commands around viz.add commands. The way to deal with this is to add the object to all computers and use the mask to modify the settings for each client. If I understand your specific scenario correctly, you have the master and one client in your cluster, and each will display 2 windows? If this is the case, then here is some pseudo-code that should set this up: Code:
#Need to initialize window with viz.QUAD_BUFFER flag viz.go(viz.QUAD_BUFFER) #Resize main window to take up left half of screen window1 = viz.MainWindow window1.setSize(0.5,1.0) #Create window to take up right half of screen window2 = viz.addWindow(pos=(0.5,1.0),size=(0.5,1.0)) window2.stereo(viz.QUAD_BUFFER) #Create 4 walls wall1 = vizcave.Wall(...) wall2 = vizcave.Wall(...) wall3 = vizcave.Wall(...) wall4 = vizcave.Wall(...) #Add walls to cave cave.addWall(wall1,window=window1,mask=viz.MASTER) cave.addWall(wall2,window=window2,mask=viz.MASTER) cave.addWall(wall3,window=window1,mask=viz.CLIENT) cave.addWall(wall4,window=window2,mask=viz.CLIENT) In the code you posted above, you were using the window.fov command. Keep in mind that the vizcave module will update the projection matrix of the window every frame based on the position of the tracker. So the value you specified will be overwritten. |
Thread Tools | |
Display Modes | Rate This Thread |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
orthographic projection in a head-tracked cave environment | michaelrepucci | Vizard | 5 | 12-14-2011 10:29 AM |
Problems implementing Vizard in a CAVE with Shutter Glasses | shivanangel | Vizard | 7 | 05-20-2009 11:47 AM |
CAVE PPT Tracker Help with Orientation Inversion on Up and Down | shivanangel | Vizard | 3 | 03-11-2009 09:14 PM |
3D stereo on a secondary monitor (projected wall) | michaelrepucci | Vizard | 1 | 07-29-2008 11:25 AM |
navigation in cave environment | Andy | Vizard | 4 | 03-28-2008 01:32 AM |