Browse Source

support alphaGain

David Rose 22 years ago
parent
commit
56f35ece2d

+ 5 - 1
pandatool/src/maya/mayaShaderColorDef.cxx

@@ -37,7 +37,7 @@
 ////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////
 MayaShaderColorDef::
 MayaShaderColorDef::
 MayaShaderColorDef() {
 MayaShaderColorDef() {
-  _color_gain.set(1.0f, 1.0f, 1.0f);
+  _color_gain.set(1.0f, 1.0f, 1.0f, 1.0f);
 
 
   _has_flat_color = false;
   _has_flat_color = false;
   _flat_color.set(0.0, 0.0, 0.0, 0.0);
   _flat_color.set(0.0, 0.0, 0.0, 0.0);
@@ -188,6 +188,10 @@ read_surface_color(MObject color) {
     _color_gain[1] *= color_gain[1];
     _color_gain[1] *= color_gain[1];
     _color_gain[2] *= color_gain[2];
     _color_gain[2] *= color_gain[2];
   }
   }
+  float alpha_gain;
+  if (get_maya_attribute(color, "alphaGain", alpha_gain)) {
+    _color_gain[3] *= alpha_gain;
+  }
 
 
   if (color.hasFn(MFn::kFileTexture)) {
   if (color.hasFn(MFn::kFileTexture)) {
     _color_object = new MObject(color);
     _color_object = new MObject(color);

+ 1 - 1
pandatool/src/maya/mayaShaderColorDef.h

@@ -58,7 +58,7 @@ public:
 
 
   bool _has_texture;
   bool _has_texture;
   Filename _texture;
   Filename _texture;
-  RGBColorf _color_gain;
+  Colorf _color_gain;
   
   
   bool _has_flat_color;
   bool _has_flat_color;
   Colord _flat_color;
   Colord _flat_color;

+ 1 - 0
pandatool/src/mayaegg/mayaToEggConverter.cxx

@@ -1948,6 +1948,7 @@ set_shader_attributes(EggPrimitive &primitive, const MayaShader &shader) {
   rgba[0] *= color_def._color_gain[0];
   rgba[0] *= color_def._color_gain[0];
   rgba[1] *= color_def._color_gain[1];
   rgba[1] *= color_def._color_gain[1];
   rgba[2] *= color_def._color_gain[2];
   rgba[2] *= color_def._color_gain[2];
+  rgba[3] *= color_def._color_gain[3];
 
 
   primitive.set_color(rgba);
   primitive.set_color(rgba);
 }
 }