diff --git a/pandatool/src/maya/mayaShaderColorDef.cxx b/pandatool/src/maya/mayaShaderColorDef.cxx index a2abcd0298..f2cf61bcf0 100644 --- a/pandatool/src/maya/mayaShaderColorDef.cxx +++ b/pandatool/src/maya/mayaShaderColorDef.cxx @@ -263,13 +263,13 @@ void MayaShaderColorDef:: read_surface_color(MayaShader *shader, MObject color, bool trans) { RGBColorf color_gain; if (get_vec3f_attribute(color, "colorGain", color_gain)) { - _color_gain[0] *= color_gain[0]; - _color_gain[1] *= color_gain[1]; - _color_gain[2] *= color_gain[2]; + _color_gain[0] *= (color_gain[0] > 1.0 ? 1.0 : color_gain[0]) < 0.0 ? 0.0 : color_gain[0]; + _color_gain[1] *= (color_gain[1] > 1.0 ? 1.0 : color_gain[1]) < 0.0 ? 0.0 : color_gain[1]; + _color_gain[2] *= (color_gain[2] > 1.0 ? 1.0 : color_gain[2]) < 0.0 ? 0.0 : color_gain[2]; } float alpha_gain; if (get_maya_attribute(color, "alphaGain", alpha_gain)) { - _color_gain[3] *= alpha_gain; + _color_gain[3] *= (alpha_gain > 1.0 ? 1.0 : alpha_gain) < 0.0 ? 0.0 : alpha_gain; } if (color.hasFn(MFn::kFileTexture)) { _color_object = new MObject(color); diff --git a/pandatool/src/mayaegg/mayaToEggConverter.cxx b/pandatool/src/mayaegg/mayaToEggConverter.cxx index 14d15787fc..37ece120ed 100644 --- a/pandatool/src/mayaegg/mayaToEggConverter.cxx +++ b/pandatool/src/mayaegg/mayaToEggConverter.cxx @@ -1953,7 +1953,8 @@ make_polyset(MayaNodeDesc *node_desc, const MDagPath &dag_path, if (mayaegg_cat.is_spam()) { mayaegg_cat.spam() << "poly_color = " << poly_color << endl; - mayaegg_cat.spam() << "maya_color = " << vert.get_color() << endl; + mayaegg_cat.spam() << "maya_color = " << c << endl; + mayaegg_cat.spam() << "vert_color = " << vert.get_color() << endl; } } } else { @@ -2631,6 +2632,9 @@ set_shader_attributes(EggPrimitive &primitive, const MayaShader &shader, } primitive.set_color(rgba); + if (mayaegg_cat.is_spam()) { + mayaegg_cat.spam() << "ssa:rgba = " << rgba << endl; + } if (mayaegg_cat.is_spam()) { mayaegg_cat.spam() << " set_shader_attributes : end\n";