I everyone, long time no see (been really buse with project --’)…anyway, I’m still struggling with the external monitors but I think the program lies within my code…I tested an example code to check if i can load to 4 screens and it works fine with this setup:
# set up the camera
self.camBase = render.attachNewNode('camBase') # control camera x,y ; ground collider attached
self.camHigh = self.camBase.attachNewNode('camBase') # control camera Z
self.right = self.camBase.attachNewNode('right')
self.right.setPos(1, 0, 0)
self.forward = self.camBase.attachNewNode('forward')
self.forward.setPos(0, 1, 0)
# Open three new windows and title them "left", "center", and "right"
loadPrcFileData("", PRC_ORIGIN[INCAVE][0])
loadPrcFileData("", PRC_SIZE[INCAVE])
loadPrcFileData("", PRC_DEC[INCAVE])
self.wp = WindowProperties.getDefault()
self.wp.setTitle('left')
self.w2 = base.openWindow(gsg=base.win.getGsg(), props=self.wp)
base.win.requestProperties(self.wp)
loadPrcFileData("", PRC_ORIGIN[INCAVE][1])
loadPrcFileData("", PRC_SIZE[INCAVE])
loadPrcFileData("", PRC_DEC[INCAVE])
self.wp = WindowProperties.getDefault()
self.wp.setTitle('center')
self.w3 = base.openWindow(gsg=base.win.getGsg(), props=self.wp)
base.win.requestProperties(self.wp)
loadPrcFileData("", PRC_ORIGIN[INCAVE][2])
loadPrcFileData("", PRC_SIZE[INCAVE])
loadPrcFileData("", PRC_DEC[INCAVE])
self.wp = WindowProperties.getDefault()
self.wp.setTitle('right')
self.w4 = base.openWindow(gsg=base.win.getGsg(), props=self.wp)
base.win.requestProperties(self.wp)
# Retitle the main window as the "puppet"
loadPrcFileData("", PRC_ORIGIN[INCAVE][3])
loadPrcFileData("", PRC_SIZE[INCAVE])
self.wp = WindowProperties.getDefault()
self.wp.setTitle('puppet')
self.wp.setUndecorated(0)
base.win.requestProperties(self.wp)
# position the cameras
base.camList[0].setHpr(0, 0, 0) # puppet
base.camList[0].reparentTo(self.camHigh)
base.camList[1].setHpr(40, 0, 0) # left
base.camList[1].reparentTo(self.camHigh)
base.camList[2].setHpr(0, 0, 0) # center
base.camList[2].reparentTo(self.camHigh)
base.camList[3].setHpr(-40, 0, 0) # right
base.camList[3].reparentTo(self.camHigh)
# setup the left, center, and right cameras to render the desired node
base.camList[0].node().setScene(render) # puppet
base.camList[1].node().setScene(render) # left
base.camList[2].node().setScene(render) # center
base.camList[3].node().setScene(render) # right
However, I used render2d and I think the problem might be there…any ideas? My code is as follows:
def screenSet(self):
base.setBackgroundColor(1,1,1)
#sets up the camera nodes
self.camBase = render.attachNewNode('camBase') # control camera x,y ; ground collider attached
self.camHigh = self.camBase.attachNewNode('camHigh') # control camera Z
self.right = self.camBase.attachNewNode('right')
self.right.setPos(1, 0, 0)
self.backward = self.camBase.attachNewNode('backward')
self.backward.setPos(0, 1, 0)
# position the camera node
#self.camBase.setPosHpr(171.411,19.1365,158.941, -191,0,0)
##self.camBase.setPosHpr(0,0,0, 0,0,0)
##self.renders2d={}
# Retitle the main window as the "puppet"
loadPrcFileData("", PRC_ORIGIN[INCAVE][0])
loadPrcFileData("", PRC_SIZE[INCAVE])
loadPrcFileData("", PRC_DEC[INCAVE])
self.wp = WindowProperties.getDefault()
self.wp.setTitle('front')
base.win.requestProperties(self.wp)
# Open four new windows and title them "left", "center", "right" and "back"
self.wp.setTitle('right')
self.w2 = base.openWindow(gsg=base.win.getGsg(), props=self.wp)
loadPrcFileData("", PRC_ORIGIN[INCAVE][1])
loadPrcFileData("", PRC_SIZE[INCAVE])
loadPrcFileData("", PRC_DEC[INCAVE])
self.wp = WindowProperties.getDefault()
base.win.requestProperties(self.wp)
self.renders2d[BLUE]=NodePath('centerRender2d')
self.renders2d[BLUE]=base.render2d
centerCamera2d=base.makeCamera2d(self.w2)
centerCamera2d.reparentTo(self.renders2d[BLUE])
self.wp.setTitle('back')
self.w3 = base.openWindow(gsg=base.win.getGsg(), props=self.wp)
loadPrcFileData("", PRC_ORIGIN[INCAVE][2])
loadPrcFileData("", PRC_SIZE[INCAVE])
loadPrcFileData("", PRC_DEC[INCAVE])
self.wp = WindowProperties.getDefault()
base.win.requestProperties(self.wp)
self.renders2d[RED]=NodePath('rightRender2d')
rightCamera2d=base.makeCamera2d(self.w3)
rightCamera2d.reparentTo(self.renders2d[RED])
self.wp.setTitle('left')
self.w4 = base.openWindow(gsg=base.win.getGsg(), props=self.wp)
loadPrcFileData("", PRC_ORIGIN[INCAVE][3])
loadPrcFileData("", PRC_SIZE[INCAVE])
loadPrcFileData("", PRC_DEC[INCAVE])
self.wp = WindowProperties.getDefault()
base.win.requestProperties(self.wp)
self.renders2d[GREEN]=NodePath('leftRender2d')
backCamera2d=base.makeCamera2d(self.w4)
backCamera2d.reparentTo(self.renders2d[GREEN])
Thank you so much in advance