oops, algorithm was wrong

This commit is contained in:
Asad M. Zaman 2006-04-21 23:14:44 +00:00
parent 669a5f6f21
commit c9fc2e0ff0
1 changed files with 12 additions and 4 deletions

View File

@ -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);