renderFrame and 2D objects

There’s no special consideration for 2D objects with regards to rendering frames. renderFrame renders all the display regions on every window, both the 2D and 3D ones alike, so something else must be going wrong in your code.

Note that due to double buffering, the results of the previous frame become available at the beginning of the next frame. So if you are expecting to see changes you made this frame, you will need two calls to renderFrame.