[Bf-blender-cvs] [2953732fc5e] master: Collada import: connect Emission texture to Emission socket

Scurest noreply at git.blender.org
Thu May 13 23:53:37 CEST 2021


Commit: 2953732fc5e159d2ae0e9fc23c593a9127a2004a
Author: Scurest
Date:   Thu May 13 23:14:57 2021 +0200
Branches: master
https://developer.blender.org/rB2953732fc5e159d2ae0e9fc23c593a9127a2004a

Collada import: connect Emission texture to Emission socket

An emission texture is currently connected to the Base Color socket. It should connect to the Emission socket, like a constant does.

Reviewed By: gaiaclary

Differential Revision: https://developer.blender.org/D10990

===================================================================

M	release/datafiles/locale
M	release/scripts/addons
M	release/scripts/addons_contrib
M	source/blender/io/collada/Materials.cpp
M	source/blender/io/collada/Materials.h
M	source/tools

===================================================================

diff --git a/release/datafiles/locale b/release/datafiles/locale
index 2cef4877edc..5ab29b1331d 160000
--- a/release/datafiles/locale
+++ b/release/datafiles/locale
@@ -1 +1 @@
-Subproject commit 2cef4877edc40875978c4e95322bb5193f5815bf
+Subproject commit 5ab29b1331d2103dae634b987f121c4599459d7f
diff --git a/release/scripts/addons b/release/scripts/addons
index bcd08a9506d..bb16aba5bd3 160000
--- a/release/scripts/addons
+++ b/release/scripts/addons
@@ -1 +1 @@
-Subproject commit bcd08a9506d33bdd7358201031b04d041ef22d94
+Subproject commit bb16aba5bd3873794eefe167497118b6063b9a85
diff --git a/release/scripts/addons_contrib b/release/scripts/addons_contrib
index f948f658ba3..7d78c8a63f2 160000
--- a/release/scripts/addons_contrib
+++ b/release/scripts/addons_contrib
@@ -1 +1 @@
-Subproject commit f948f658ba33eb670a65e0bba058d43138abea7e
+Subproject commit 7d78c8a63f2f4b146f9327ddc0d567a5921b94ea
diff --git a/source/blender/io/collada/Materials.cpp b/source/blender/io/collada/Materials.cpp
index 194a9ea397e..35f1b82a71f 100644
--- a/source/blender/io/collada/Materials.cpp
+++ b/source/blender/io/collada/Materials.cpp
@@ -133,6 +133,16 @@ void MaterialNode::add_link(bNode *from_node, int from_index, bNode *to_node, in
   nodeAddLink(ntree, from_node, from_socket, to_node, to_socket);
 }
 
+void MaterialNode::add_link(bNode *from_node, const char* from_label, bNode *to_node, const char* to_label)
+{
+  bNodeSocket *from_socket = nodeFindSocket(from_node, SOCK_OUT, from_label);
+  bNodeSocket *to_socket = nodeFindSocket(to_node, SOCK_IN, to_label);
+
+  if (from_socket && to_socket) {
+    nodeAddLink(ntree, from_node, from_socket, to_node, to_socket);
+  }
+}
+
 void MaterialNode::set_reflectivity(COLLADAFW::FloatOrParam &val)
 {
   float reflectivity = val.getFloatValue();
@@ -326,7 +336,7 @@ void MaterialNode::set_emission(COLLADAFW::ColorOrTexture &cot)
   else if (cot.isTexture()) {
     bNode *texture_node = add_texture_node(cot, -300, locy, "Emission");
     if (texture_node != nullptr) {
-      add_link(texture_node, 0, shader_node, 0);
+      add_link(texture_node, "Color", shader_node, "Emission");
     }
   }
 
diff --git a/source/blender/io/collada/Materials.h b/source/blender/io/collada/Materials.h
index 2d8c823a4c2..431c309467a 100644
--- a/source/blender/io/collada/Materials.h
+++ b/source/blender/io/collada/Materials.h
@@ -48,6 +48,7 @@ class MaterialNode {
   bNodeTree *prepare_material_nodetree();
   bNode *add_node(int node_type, int locx, int locy, std::string label);
   void add_link(bNode *from_node, int from_index, bNode *to_node, int to_index);
+  void add_link(bNode *from_node, const char* from_label, bNode *to_node, const char* to_label);
   bNode *add_texture_node(COLLADAFW::ColorOrTexture &cot, int locx, int locy, std::string label);
   void setShaderType();
 
diff --git a/source/tools b/source/tools
index 2afbb8ec472..f99d29ae3e6 160000
--- a/source/tools
+++ b/source/tools
@@ -1 +1 @@
-Subproject commit 2afbb8ec472cac5102eb239f57b006f8c9387685
+Subproject commit f99d29ae3e6ad44d45d79309454c45f8088781a4



More information about the Bf-blender-cvs mailing list