소스 검색

oops, broke offscreen render in general

David Rose 20 년 전
부모
커밋
71c62f17fa
1개의 변경된 파일15개의 추가작업 그리고 6개의 파일을 삭제
  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";
       }
       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 {
-        _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);
+        }
       }
     }
   }