mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-04 02:42:49 -04:00
found a better fix for the out of range color/alpha gain
This commit is contained in:
parent
f2d6c73ccb
commit
669a5f6f21
@ -263,13 +263,13 @@ void MayaShaderColorDef::
|
|||||||
read_surface_color(MayaShader *shader, MObject color, bool trans) {
|
read_surface_color(MayaShader *shader, MObject color, bool trans) {
|
||||||
RGBColorf color_gain;
|
RGBColorf color_gain;
|
||||||
if (get_vec3f_attribute(color, "colorGain", color_gain)) {
|
if (get_vec3f_attribute(color, "colorGain", color_gain)) {
|
||||||
_color_gain[0] *= color_gain[0];
|
_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];
|
_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];
|
_color_gain[2] *= (color_gain[2] > 1.0 ? 1.0 : color_gain[2]) < 0.0 ? 0.0 : color_gain[2];
|
||||||
}
|
}
|
||||||
float alpha_gain;
|
float alpha_gain;
|
||||||
if (get_maya_attribute(color, "alphaGain", 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)) {
|
if (color.hasFn(MFn::kFileTexture)) {
|
||||||
_color_object = new MObject(color);
|
_color_object = new MObject(color);
|
||||||
|
@ -1953,7 +1953,8 @@ make_polyset(MayaNodeDesc *node_desc, const MDagPath &dag_path,
|
|||||||
|
|
||||||
if (mayaegg_cat.is_spam()) {
|
if (mayaegg_cat.is_spam()) {
|
||||||
mayaegg_cat.spam() << "poly_color = " << poly_color << endl;
|
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 {
|
} else {
|
||||||
@ -2631,6 +2632,9 @@ set_shader_attributes(EggPrimitive &primitive, const MayaShader &shader,
|
|||||||
}
|
}
|
||||||
|
|
||||||
primitive.set_color(rgba);
|
primitive.set_color(rgba);
|
||||||
|
if (mayaegg_cat.is_spam()) {
|
||||||
|
mayaegg_cat.spam() << "ssa:rgba = " << rgba << endl;
|
||||||
|
}
|
||||||
|
|
||||||
if (mayaegg_cat.is_spam()) {
|
if (mayaegg_cat.is_spam()) {
|
||||||
mayaegg_cat.spam() << " set_shader_attributes : end\n";
|
mayaegg_cat.spam() << " set_shader_attributes : end\n";
|
||||||
|
Loading…
x
Reference in New Issue
Block a user