View Single Post
Old 03-29-2012, 10:32 AM is offline
Join Date: Dec 2011
Posts: 2
drives two walls with a single PC and an nVidia graphics card


I am trying to use a single PC with an nVidia Quadro 6000 graphics card to drive a two wall (front and floor) system in Vizard 4.0.

Currently I have one project each connect to a DVI port of the graphics card.

I am using the following cave setting. However I always get one image which extends to two screens. Could anyone shed me a light? Thanks.

I am aware most setting is done with two PC sync by clustering. I just wonder this is possible.

My code is listed below.
import viz
import vizcave
import viztracker

# Declare constants defining the CAVE dimensions
W = 3.410 # 10 feet wide
H = 2.140 #7.5 feet tall
D = 2.200 # 7.5 feet deep
C0 = 0,H,0 # Front Wall: C1,C2,C5,C6
C1 = 0,H,D # Left Wall: C0,C1,C4,C5
C2 = W,H,D # Right Wall: C2,C3,C6,C7
C3 = W,H,0 # Bottom Wall: C5,C6,C4,C7
C4 = 0,0,0
C5 = 0,0,D
C6 = W,0,D
C7 = W,0,0

#Create front wall
FrontWall = vizcave.Wall( upperLeft=C1, # 0, 2.286, 3.048
upperRight=C2, # 3.048, 2.286, 3.048
lowerLeft=C5, # 0, 0, 3.048
lowerRight=C6, # 3.048, 0, 3.048
name='Front Wall' )

#Create left wall
LeftWall = vizcave.Wall( upperLeft=C0,
name='Left Wall' )

#Create right wall
RightWall = vizcave.Wall( upperLeft=C2,
name='Right Wall' )

#Create bottom wall
BottomWall = vizcave.Wall( upperLeft=C5,
name='Bottom Wall' )

#Initialize graphics window

#Create cave object
cave = vizcave.Cave()

#Add each wall, make sure that they are ordered in the cluster software correctly to match this ordering
cave.addWall(FrontWall, mask=viz.MASTER)
#cave.addWall(LeftWall, mask=viz.CLIENT1)
#cave.addWall(RightWall, mask=viz.CLIENT2)
cave.addWall(BottomWall, mask=viz.CLIENT3)

#Create tracker object using the keyboard (WASD keys control the viewpoint, the user's eye location)
#Make the starting location for the user's eye the exact center of the CAVE
viewtracker = viztracker.KeyboardPos()
viewtracker.setPosition (W/2.0,H/2.0,D/2.0)

#Pass the viewpoint tracker into the cave object so it can be automatically updated

#Create CaveView object for manipulating the entire cave environment
#The caveorigin is a node that can be adjusted to move the entire cave around the virtual environment
caveorigin = vizcave.CaveView(viewtracker)

#Create another tracker using the keyboard and mouse (arrow keys adjust position, mouse changes orientation)
origintracker = viztracker.KeyboardMouse6DOF()

#Link the keyboard/mouse so that it moves the cave and user around the virtual environment
#originlink = (origintracker, caveorigin)

#Add gallery environment model

Reply With Quote