Since I’ve been unable to find any working examples this is acutaly still the backdrop problem.
How do I create a new scene that renders to the same GraphicsOutput as “render” and “render2d”?
The manual is broken, for instance it claims that this is the way to get a GraphicsStateGuardian:
That doesn’t work since GraphicsEngine does NOT have a makeGsg operator.
The people who wrote the manual made the age-long mistake of writing non-working snippets and using uninitialized symbols that the reader does not know from whence they came.
I would like to see the simplest way to add new scenes to an already existing GraphicsOutput, are there any available?
Actually, the manual was correct when it was written, but panda has changed, and nobody updated the manual.
When you say a new “scene,” I don’t know what that means. A new window? A new camera, that renders into an existing window?
I want a new scene graph, rendered orthographic in the already existing window. It should render BEHIND the scene graph named “render”. That is, behind all the previously existing scenes.
I experimented with just adding new cameras to subnodes of “render”, but that didn’t work. I experimented with using new texture buffers, but I couldn’t make it render behind the “render”-scene.
This is my latest experiment:
scene = NodePath("new Scene")
cam = scene.attachNewNode(Camera("test"))
cam.setPos(0, -10, 0)
dr = base.win.makeDisplayRegion()
dr.setSort(0) # set new dr sort to 0
base.win.getDisplayRegion(1).setSort(5) # set render sort to 5
This does, however, NOT make my newly created DisplayRegion render behind “render”. Also, it seems that “render2d” is sorted by the value set in my newly created DisplayRegion.
All in all I can’t see any logic behind the DisplayRegion sorting algorithm and I have yet to discover a way to render a scene orthographically BEHIND the default scenes.
You need the method described in your other thread.
Yeah, didn’t notice that answer. It looks promosing. Will try it out ASAP!