Browse Source

oops, broke offscreen render in general

David Rose 20 years ago
parent
commit
71c62f17fa
1 changed files with 15 additions and 6 deletions
  1. 15 6
      panda/src/display/graphicsOutput.cxx

+ 15 - 6
panda/src/display/graphicsOutput.cxx

@@ -879,13 +879,22 @@ end_frame() {
           << "cube_map_index = " << _cube_map_index << "\n";
           << "cube_map_index = " << _cube_map_index << "\n";
       }
       }
       RenderBuffer buffer = _gsg->get_render_buffer(get_draw_buffer_type());
       RenderBuffer buffer = _gsg->get_render_buffer(get_draw_buffer_type());
-      nassertv(_cube_map_dr != (DisplayRegion *)NULL);
-      if (_rtm_mode == RTM_copy_ram) {
-        _gsg->framebuffer_copy_to_ram(get_texture(), _cube_map_index,
-                                      _cube_map_dr, buffer);
+      if (_cube_map_dr != (DisplayRegion *)NULL) {
+        if (_rtm_mode == RTM_copy_ram) {
+          _gsg->framebuffer_copy_to_ram(get_texture(), _cube_map_index,
+                                        _cube_map_dr, buffer);
+        } else {
+          _gsg->framebuffer_copy_to_texture(get_texture(), _cube_map_index,
+                                            _cube_map_dr, buffer);
+        }
       } else {
       } else {
-        _gsg->framebuffer_copy_to_texture(get_texture(), _cube_map_index,
-                                          _cube_map_dr, buffer);
+        if (_rtm_mode == RTM_copy_ram) {
+          _gsg->framebuffer_copy_to_ram(get_texture(), _cube_map_index,
+                                        _default_display_region, buffer);
+        } else {
+          _gsg->framebuffer_copy_to_texture(get_texture(), _cube_map_index,
+                                            _default_display_region, buffer);
+        }
       }
       }
     }
     }
   }
   }