diff options
-rw-r--r-- | source/blender/collada/Materials.cpp | 1 | ||||
-rw-r--r-- | source/blender/collada/collada_utils.cpp | 4 |
2 files changed, 3 insertions, 2 deletions
diff --git a/source/blender/collada/Materials.cpp b/source/blender/collada/Materials.cpp index 3b2c68ef95e..06f54884668 100644 --- a/source/blender/collada/Materials.cpp +++ b/source/blender/collada/Materials.cpp @@ -202,6 +202,7 @@ void MaterialNode::set_alpha(COLLADAFW::EffectCommon::OpaqueMode mode, bNodeSocket *socket = nodeFindSocket(shader_node, SOCK_IN, "Alpha"); ((bNodeSocketValueFloat *)socket->default_value)->value = alpha; + material->a = alpha; } else if (cot.isTexture()) { int locy = -300 * (node_map.size() - 2); diff --git a/source/blender/collada/collada_utils.cpp b/source/blender/collada/collada_utils.cpp index 6116b04e122..d5011581204 100644 --- a/source/blender/collada/collada_utils.cpp +++ b/source/blender/collada/collada_utils.cpp @@ -1321,7 +1321,7 @@ void bc_add_default_shader(bContext *C, Material *ma) COLLADASW::ColorOrTexture bc_get_base_color(Material *ma) { - Color default_color = {0.8, 0.8, 0.8, 1.0}; + Color default_color = {ma->r, ma->g, ma->b, 1.0}; // for alpha see bc_get_alpha() bNode *shader = bc_get_master_shader(ma); if (ma->use_nodes && shader) { return bc_get_cot_from_shader(shader, "Base Color", default_color, false); @@ -1424,7 +1424,7 @@ COLLADASW::ColorOrTexture bc_get_cot_from_shader(bNode *shader, return bc_get_cot(col, with_alpha); } else { - return bc_get_cot(default_color, with_alpha); /* default black */ + return bc_get_cot(default_color, with_alpha); } } |