camera won't switch off?

Hi,
Just trying to get rid of default camera on window2, apparently even after dr.setActive(0) the cam is still on?!

Here is a simple test program:

import direct.directbase.DirectStart
from pandac.PandaModules import *
from direct.showbase.DirectObject import DirectObject
from direct.showbase.ShowBase import ShowBase
from direct.actor.Actor import Actor
from panda3d.core import Vec3
from direct.interval.IntervalGlobal import *

class World(DirectObject):
   def __init__(self):
      # load the "show-guy"
      self.panda1 = Actor("panda", {"walk": "panda-walk"})
      self.panda1.setScale(2)
      self.panda1.reparentTo(render)
      self.panda1.setPos(40, 0, 0)
      self.panda1.setHpr(-90, 0, 0)
      self.panda1.loop("walk")

      linewalk1 = self.panda1.posInterval(3,Vec3(0,0,0),startPos = Vec3(60,0,0))
      linewalk2 = self.panda1.posInterval(3,Vec3(60, 0,0),startPos = Vec3(0,0,0))
      turn1 = self.panda1.hprInterval(0.5, Vec3(90, 0,0),startHpr = Vec3(-90,0,0))
      turn2 = self.panda1.hprInterval(0.5, Vec3(-90, 0,0),startHpr = Vec3(90,0,0))
      pandaWalk = Sequence(linewalk1, turn1, linewalk2, turn2)
      pandaWalk.loop()     

      # observer
      panda2 = Actor('panda.egg')
      panda2.setScale(2)
      panda2.reparentTo(render)
      panda2.setHpr(+90, 0, 0)
      panda2.setPos(-40, 0, 0)

      # create new window to display observer's view
      wobs = base.openWindow(gsg = base.win.getGsg())
      wp = WindowProperties()
      wp.setTitle("Observer's view")
      wobs.requestProperties(wp)
      dr0 = wobs.getDisplayRegion(0)
      dr0.setActive(0)           # switch off initial display region
      window = dr0.getWindow()   # create new one
      dr = window.makeDisplayRegion(0, 0.5, 0, 1)
      dr.setSort(dr0.getSort())

      # observer camera
      eyeNode = Camera('eye')
      eye = panda2.attachNewNode(eyeNode)
      olens = PerspectiveLens()
      olens.setFilmSize(dr.getPixelWidth(), dr.getPixelHeight())
      olens.setNearFar(2,100)
      eyeNode.setLens(olens)
      eyeNode.showFrustum()
      eyeNode.setScene(render)
      dr.setCamera(eye)
      eye.setPos(0, -1.5, 10)
      eye.setHpr(180, 0, 0)

# run sim
w = World()
run()

You’re getting the wrong DisplayRegion. Replace:

dr0 = wobs.getDisplayRegion(0) 

with:

dr0 = wobs.getActiveDisplayRegion(0) 

David

got it, thanks!