From c9fc2e0ff00e82c071e4c008e99c2c4e569a1833 Mon Sep 17 00:00:00 2001 From: "Asad M. Zaman" Date: Fri, 21 Apr 2006 23:14:44 +0000 Subject: [PATCH] oops, algorithm was wrong --- pandatool/src/maya/mayaShaderColorDef.cxx | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/pandatool/src/maya/mayaShaderColorDef.cxx b/pandatool/src/maya/mayaShaderColorDef.cxx index f2cf61bcf0..46d402a534 100644 --- a/pandatool/src/maya/mayaShaderColorDef.cxx +++ b/pandatool/src/maya/mayaShaderColorDef.cxx @@ -263,13 +263,21 @@ 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] > 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]; + color_gain[0] = color_gain[0] > 1.0 ? 1.0 : color_gain[0]; + color_gain[0] = color_gain[0] < 0.0 ? 0.0 : color_gain[0]; + _color_gain[0] *= color_gain[0]; + color_gain[1] = color_gain[1] > 1.0 ? 1.0 : color_gain[1]; + color_gain[1] = color_gain[1] < 0.0 ? 0.0 : color_gain[1]; + _color_gain[1] *= color_gain[1]; + color_gain[2] = color_gain[2] > 1.0 ? 1.0 : color_gain[2]; + color_gain[3] = color_gain[2] < 0.0 ? 0.0 : 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 > 1.0 ? 1.0 : alpha_gain) < 0.0 ? 0.0 : alpha_gain; + alpha_gain = alpha_gain > 1.0 ? 1.0 : alpha_gain; + alpha_gain = alpha_gain < 0.0 ? 0.0 : alpha_gain; + _color_gain[3] *= alpha_gain; } if (color.hasFn(MFn::kFileTexture)) { _color_object = new MObject(color);