Rendering without running?


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

Essentially, I have a python script that is updating a panda3d scene. If I 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).


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.