diff --git a/pandatool/src/maya/mayaShaderColorDef.cxx b/pandatool/src/maya/mayaShaderColorDef.cxx index 90f675d6ba..2051f0683b 100644 --- a/pandatool/src/maya/mayaShaderColorDef.cxx +++ b/pandatool/src/maya/mayaShaderColorDef.cxx @@ -37,7 +37,7 @@ //////////////////////////////////////////////////////////////////// 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; _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[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)) { _color_object = new MObject(color); diff --git a/pandatool/src/maya/mayaShaderColorDef.h b/pandatool/src/maya/mayaShaderColorDef.h index 759039214e..fb31b38083 100755 --- a/pandatool/src/maya/mayaShaderColorDef.h +++ b/pandatool/src/maya/mayaShaderColorDef.h @@ -58,7 +58,7 @@ public: bool _has_texture; Filename _texture; - RGBColorf _color_gain; + Colorf _color_gain; bool _has_flat_color; Colord _flat_color; diff --git a/pandatool/src/mayaegg/mayaToEggConverter.cxx b/pandatool/src/mayaegg/mayaToEggConverter.cxx index 78f97e8e6f..22e26be88f 100644 --- a/pandatool/src/mayaegg/mayaToEggConverter.cxx +++ b/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[1] *= color_def._color_gain[1]; rgba[2] *= color_def._color_gain[2]; + rgba[3] *= color_def._color_gain[3]; primitive.set_color(rgba); }