Browse Source

support gl 1.1

David Rose 24 years ago
parent
commit
3978b8ecef
2 changed files with 34 additions and 13 deletions
  1. 5 0
      panda/src/glgsg/config_glgsg.cxx
  2. 29 13
      panda/src/glgsg/glGraphicsStateGuardian.cxx

+ 5 - 0
panda/src/glgsg/config_glgsg.cxx

@@ -68,7 +68,12 @@ bool gl_auto_normalize_lighting = config_glgsg.GetBool("auto-normalize-lighting"
 // Configure this true to indicate the current version of GL fully
 // Configure this true to indicate the current version of GL fully
 // supports textures with B, G, R ordering; false if it only supports
 // supports textures with B, G, R ordering; false if it only supports
 // R, G, B.
 // R, G, B.
+#ifdef GL_BGR
 bool gl_supports_bgr = config_glgsg.GetBool("gl-supports-bgr", true);
 bool gl_supports_bgr = config_glgsg.GetBool("gl-supports-bgr", true);
+#else
+// If it's not even defined, we can't use it.
+bool gl_supports_bgr = false;
+#endif  // GL_BGR
 
 
 GLDecalType gl_decal_type = GDT_offset;
 GLDecalType gl_decal_type = GDT_offset;
 
 

+ 29 - 13
panda/src/glgsg/glGraphicsStateGuardian.cxx

@@ -2223,18 +2223,20 @@ copy_pixel_buffer(PixelBuffer *pb, const DisplayRegion *dr) {
   case GL_DEPTH_COMPONENT:
   case GL_DEPTH_COMPONENT:
     glgsg_cat.debug(false) << "GL_DEPTH_COMPONENT, ";
     glgsg_cat.debug(false) << "GL_DEPTH_COMPONENT, ";
     break;
     break;
-  case GL_BGR:
-    glgsg_cat.debug(false) << "GL_BGR, ";
-    break;
   case GL_RGB:
   case GL_RGB:
     glgsg_cat.debug(false) << "GL_RGB, ";
     glgsg_cat.debug(false) << "GL_RGB, ";
     break;
     break;
-  case GL_BGRA:
-    glgsg_cat.debug(false) << "GL_BGRA, ";
-    break;
   case GL_RGBA:
   case GL_RGBA:
     glgsg_cat.debug(false) << "GL_RGBA, ";
     glgsg_cat.debug(false) << "GL_RGBA, ";
     break;
     break;
+#ifdef GL_BGR
+  case GL_BGR:
+    glgsg_cat.debug(false) << "GL_BGR, ";
+    break;
+  case GL_BGRA:
+    glgsg_cat.debug(false) << "GL_BGRA, ";
+    break;
+#endif  // GL_BGR
   default:
   default:
     glgsg_cat.debug(false) << "unknown, ";
     glgsg_cat.debug(false) << "unknown, ";
     break;
     break;
@@ -2356,18 +2358,20 @@ draw_pixel_buffer(PixelBuffer *pb, const DisplayRegion *dr,
   case GL_DEPTH_COMPONENT:
   case GL_DEPTH_COMPONENT:
     glgsg_cat.debug(false) << "GL_DEPTH_COMPONENT, ";
     glgsg_cat.debug(false) << "GL_DEPTH_COMPONENT, ";
     break;
     break;
-  case GL_BGR:
-    glgsg_cat.debug(false) << "GL_BGR, ";
-    break;
   case GL_RGB:
   case GL_RGB:
     glgsg_cat.debug(false) << "GL_RGB, ";
     glgsg_cat.debug(false) << "GL_RGB, ";
     break;
     break;
-  case GL_BGRA:
-    glgsg_cat.debug(false) << "GL_BGRA, ";
-    break;
   case GL_RGBA:
   case GL_RGBA:
     glgsg_cat.debug(false) << "GL_RGBA, ";
     glgsg_cat.debug(false) << "GL_RGBA, ";
     break;
     break;
+#ifdef GL_BGR
+  case GL_BGR:
+    glgsg_cat.debug(false) << "GL_BGR, ";
+    break;
+  case GL_BGRA:
+    glgsg_cat.debug(false) << "GL_BGRA, ";
+    break;
+#endif  // GL_BGR
   default:
   default:
     glgsg_cat.debug(false) << "unknown, ";
     glgsg_cat.debug(false) << "unknown, ";
     break;
     break;
@@ -3796,12 +3800,16 @@ compute_gl_image_size(int xsize, int ysize, int external_format, int type) {
     num_components = 2;
     num_components = 2;
     break;
     break;
 
 
+#ifdef GL_BGR
   case GL_BGR:
   case GL_BGR:
+#endif
   case GL_RGB:
   case GL_RGB:
     num_components = 3;
     num_components = 3;
     break;
     break;
 
 
+#ifdef GL_BGR
   case GL_BGRA:
   case GL_BGRA:
+#endif
   case GL_RGBA:
   case GL_RGBA:
     num_components = 4;
     num_components = 4;
     break;
     break;
@@ -4070,14 +4078,22 @@ get_external_image_format(PixelBuffer::Format format) {
   case PixelBuffer::F_rgb8:
   case PixelBuffer::F_rgb8:
   case PixelBuffer::F_rgb12:
   case PixelBuffer::F_rgb12:
   case PixelBuffer::F_rgb332:
   case PixelBuffer::F_rgb332:
+#ifdef GL_BGR
     return gl_supports_bgr ? GL_BGR : GL_RGB;
     return gl_supports_bgr ? GL_BGR : GL_RGB;
+#else
+    return GL_RGB;
+#endif  // GL_BGR
   case PixelBuffer::F_rgba:
   case PixelBuffer::F_rgba:
   case PixelBuffer::F_rgbm:
   case PixelBuffer::F_rgbm:
   case PixelBuffer::F_rgba4:
   case PixelBuffer::F_rgba4:
   case PixelBuffer::F_rgba5:
   case PixelBuffer::F_rgba5:
   case PixelBuffer::F_rgba8:
   case PixelBuffer::F_rgba8:
   case PixelBuffer::F_rgba12:
   case PixelBuffer::F_rgba12:
+#ifdef GL_BGR
     return gl_supports_bgr ? GL_BGRA : GL_RGBA;
     return gl_supports_bgr ? GL_BGRA : GL_RGBA;
+#else
+    return GL_RGBA;
+#endif  // GL_BGR
   case PixelBuffer::F_luminance:
   case PixelBuffer::F_luminance:
     return GL_LUMINANCE;
     return GL_LUMINANCE;
   case PixelBuffer::F_luminance_alphamask:
   case PixelBuffer::F_luminance_alphamask:
@@ -4087,7 +4103,7 @@ get_external_image_format(PixelBuffer::Format format) {
   glgsg_cat.error()
   glgsg_cat.error()
     << "Invalid PixelBuffer::Format value in get_external_image_format(): "
     << "Invalid PixelBuffer::Format value in get_external_image_format(): "
     << (int)format << "\n";
     << (int)format << "\n";
-  return GL_BGR;
+  return GL_RGB;
 }
 }
 
 
 ////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////