Browse Source

glgsg: fix sRGB for FBOs created from non-sRGB host window

In this case _current_properties in begin_frame() will not have srgb_color set, as the current props are set by the host window
rdb 7 năm trước cách đây
mục cha
commit
e1af4abf11
1 tập tin đã thay đổi với 7 bổ sung0 xóa
  1. 7 0
      panda/src/glstuff/glGraphicsBuffer_src.cxx

+ 7 - 0
panda/src/glstuff/glGraphicsBuffer_src.cxx

@@ -283,6 +283,13 @@ begin_frame(FrameMode mode, Thread *current_thread) {
     rebuild_bitplanes();
   }
 
+  // The host window may not have had sRGB enabled, so we need to do this.
+#ifndef OPENGLES
+  if (get_fb_properties().get_srgb_color()) {
+    glEnable(GL_FRAMEBUFFER_SRGB);
+  }
+#endif
+
   _gsg->set_current_properties(&get_fb_properties());
   report_my_gl_errors();
   return true;