Browse Source

Reset the state and transform before the end_frame callback (needed for Blender integration)

rdb 11 years ago
parent
commit
1d43bd0f39
1 changed files with 5 additions and 0 deletions
  1. 5 0
      panda/src/display/callbackGraphicsWindow.cxx

+ 5 - 0
panda/src/display/callbackGraphicsWindow.cxx

@@ -124,6 +124,11 @@ begin_frame(FrameMode mode, Thread *current_thread) {
 void CallbackGraphicsWindow::
 end_frame(FrameMode mode, Thread *current_thread) {
   if (_render_callback != NULL) {
+    // In case the callback or the application hosting the OpenGL
+    // context wants to do more rendering, let's give it a blank slate.
+    _gsg->set_state_and_transform(RenderState::make_empty(), _gsg->get_internal_transform());
+    _gsg->clear_before_callback();
+
     RenderCallbackData data(this, RCT_end_frame, mode);
     _render_callback->do_callback(&data);
   } else {