Browse Source

Return diffuse color for get_base_color if neither base color nor metallic have been specified

rdb 10 years ago
parent
commit
becd0aa416
1 changed files with 8 additions and 4 deletions
  1. 8 4
      panda/src/gobj/material.I

+ 8 - 4
panda/src/gobj/material.I

@@ -67,7 +67,7 @@ get_default() {
 ////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////
 //     Function: Material::has_base_color
 //     Function: Material::has_base_color
 //       Access: Published
 //       Access: Published
-//  Description: Returns true if the base_color color has been explicitly
+//  Description: Returns true if the base color has been explicitly
 //               set for this material, false otherwise.
 //               set for this material, false otherwise.
 ////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////
 INLINE bool Material::
 INLINE bool Material::
@@ -79,12 +79,16 @@ has_base_color() const {
 //     Function: Material::get_base_color
 //     Function: Material::get_base_color
 //       Access: Published
 //       Access: Published
 //  Description: Returns the base_color color setting, if it has been
 //  Description: Returns the base_color color setting, if it has been
-//               set.  Returns (0,0,0,0) if the base_color color has not
-//               been set.
+//               set.  If neither the base color nor the metallic
+//               have been set, this returns the diffuse color.
 ////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////
 INLINE const LColor &Material::
 INLINE const LColor &Material::
 get_base_color() const {
 get_base_color() const {
-  return _base_color;
+  if (!has_base_color() && !has_metallic()) {
+    return _diffuse;
+  } else {
+    return _base_color;
+  }
 }
 }
 
 
 ////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////