Rendering without running?

Hi,

I was wondering if there is a way to update the render of a ShowBase without running it with app.run()? Something like app.render().

Essentially, I have a python script that is updating a panda3d scene. If I run app.run() the scene is rendered but then the rest of the script is paused until I stop that app, is there an alternative way to run the app for to render a single frame (update the window) and halt back to the script? I essentially want to update the window but keep executing other code (instead of starting the render loop).

Thanks

To update, I realized that self.taskMgr.step() can achieve this, but may require multiple calls to work. (first call didn’t render, but the second time worked).

If you don’t want to run the task manager at all, but just render (so no collisions, audio, events, intervals, etc. either), you can call base.graphicsEngine.renderFrame().

Double-buffering means that what’s been rendered in frame 1 will be flushed to the screen at the beginning of frame 2.