support alphaGain

This commit is contained in:
David Rose 2003-05-01 17:34:19 +00:00
parent a5027c3b2c
commit 56f35ece2d
3 changed files with 7 additions and 2 deletions

View File

@ -37,7 +37,7 @@
//////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////
MayaShaderColorDef:: MayaShaderColorDef::
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; _has_flat_color = false;
_flat_color.set(0.0, 0.0, 0.0, 0.0); _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[1] *= color_gain[1];
_color_gain[2] *= 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;
}
if (color.hasFn(MFn::kFileTexture)) { if (color.hasFn(MFn::kFileTexture)) {
_color_object = new MObject(color); _color_object = new MObject(color);

View File

@ -58,7 +58,7 @@ public:
bool _has_texture; bool _has_texture;
Filename _texture; Filename _texture;
RGBColorf _color_gain; Colorf _color_gain;
bool _has_flat_color; bool _has_flat_color;
Colord _flat_color; Colord _flat_color;

View File

@ -1948,6 +1948,7 @@ set_shader_attributes(EggPrimitive &primitive, const MayaShader &shader) {
rgba[0] *= color_def._color_gain[0]; rgba[0] *= color_def._color_gain[0];
rgba[1] *= color_def._color_gain[1]; rgba[1] *= color_def._color_gain[1];
rgba[2] *= color_def._color_gain[2]; rgba[2] *= color_def._color_gain[2];
rgba[3] *= color_def._color_gain[3];
primitive.set_color(rgba); primitive.set_color(rgba);
} }