[Bf-blender-cvs] [c8f3ec797c6] temp-T97352-3d-texturing-seam-bleeding: Merge branch 'master' into temp-T97352-3d-texturing-seam-bleeding

Jeroen Bakker noreply at git.blender.org
Wed May 11 11:23:23 CEST 2022


Commit: c8f3ec797c66e834cd6c481e36665ec80add6169
Author: Jeroen Bakker
Date:   Wed May 11 10:35:58 2022 +0200
Branches: temp-T97352-3d-texturing-seam-bleeding
https://developer.blender.org/rBc8f3ec797c66e834cd6c481e36665ec80add6169

Merge branch 'master' into temp-T97352-3d-texturing-seam-bleeding

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



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

diff --cc source/blender/blenkernel/CMakeLists.txt
index 5bd89b408de,0b4f81df452..70ff7035ae7
--- a/source/blender/blenkernel/CMakeLists.txt
+++ b/source/blender/blenkernel/CMakeLists.txt
@@@ -241,11 -243,10 +243,11 @@@ set(SR
    intern/particle_child.c
    intern/particle_distribute.c
    intern/particle_system.c
-   intern/pbvh.cc
    intern/pbvh.c
+   intern/pbvh.cc
    intern/pbvh_bmesh.c
    intern/pbvh_pixels.cc
 +  intern/pbvh_pixels_seams.cc
    intern/pointcache.c
    intern/pointcloud.cc
    intern/preferences.c
diff --cc source/blender/blenloader/intern/versioning_300.c
index 57c8411dfe7,7fd72fec3d0..43cba8e6d00
--- a/source/blender/blenloader/intern/versioning_300.c
+++ b/source/blender/blenloader/intern/versioning_300.c
@@@ -2773,10 -2780,259 +2780,265 @@@ void blo_do_versions_300(FileData *fd, 
    {
      /* Keep this block, even when empty. */
  
 +    if (!DNA_struct_elem_find(fd->filesdna, "Image", "float", "seamfix_distance")) {
 +      LISTBASE_FOREACH (Image *, image, &bmain->images) {
 +        image->seamfix_distance = 2.5f;
 +      }
 +    }
++
+     /* Replace legacy combine/separate color nodes */
+     FOREACH_NODETREE_BEGIN (bmain, ntree, id) {
+       /* In geometry nodes, replace shader combine/separate color nodes with function nodes */
+       if (ntree->type == NTREE_GEOMETRY) {
+         version_node_input_socket_name(ntree, SH_NODE_COMBRGB_LEGACY, "R", "Red");
+         version_node_input_socket_name(ntree, SH_NODE_COMBRGB_LEGACY, "G", "Green");
+         version_node_input_socket_name(ntree, SH_NODE_COMBRGB_LEGACY, "B", "Blue");
+         version_node_output_socket_name(ntree, SH_NODE_COMBRGB_LEGACY, "Image", "Color");
+ 
+         version_node_output_socket_name(ntree, SH_NODE_SEPRGB_LEGACY, "R", "Red");
+         version_node_output_socket_name(ntree, SH_NODE_SEPRGB_LEGACY, "G", "Green");
+         version_node_output_socket_name(ntree, SH_NODE_SEPRGB_LEGACY, "B", "Blue");
+         version_node_input_socket_name(ntree, SH_NODE_SEPRGB_LEGACY, "Image", "Color");
+ 
+         LISTBASE_FOREACH (bNode *, node, &ntree->nodes) {
+           switch (node->type) {
+             case SH_NODE_COMBRGB_LEGACY: {
+               node->type = FN_NODE_COMBINE_COLOR;
+               NodeCombSepColor *storage = (NodeCombSepColor *)MEM_callocN(sizeof(NodeCombSepColor),
+                                                                           __func__);
+               storage->mode = NODE_COMBSEP_COLOR_RGB;
+               strcpy(node->idname, "FunctionNodeCombineColor");
+               node->storage = storage;
+               break;
+             }
+             case SH_NODE_SEPRGB_LEGACY: {
+               node->type = FN_NODE_SEPARATE_COLOR;
+               NodeCombSepColor *storage = (NodeCombSepColor *)MEM_callocN(sizeof(NodeCombSepColor),
+                                                                           __func__);
+               storage->mode = NODE_COMBSEP_COLOR_RGB;
+               strcpy(node->idname, "FunctionNodeSeparateColor");
+               node->storage = storage;
+               break;
+             }
+           }
+         }
+       }
+ 
+       /* In compositing nodes, replace combine/separate RGBA/HSVA/YCbCrA/YCCA nodes with
+        * combine/separate color */
+       if (ntree->type == NTREE_COMPOSIT) {
+         version_node_input_socket_name(ntree, CMP_NODE_COMBRGBA_LEGACY, "R", "Red");
+         version_node_input_socket_name(ntree, CMP_NODE_COMBRGBA_LEGACY, "G", "Green");
+         version_node_input_socket_name(ntree, CMP_NODE_COMBRGBA_LEGACY, "B", "Blue");
+         version_node_input_socket_name(ntree, CMP_NODE_COMBRGBA_LEGACY, "A", "Alpha");
+ 
+         version_node_input_socket_name(ntree, CMP_NODE_COMBHSVA_LEGACY, "H", "Red");
+         version_node_input_socket_name(ntree, CMP_NODE_COMBHSVA_LEGACY, "S", "Green");
+         version_node_input_socket_name(ntree, CMP_NODE_COMBHSVA_LEGACY, "V", "Blue");
+         version_node_input_socket_name(ntree, CMP_NODE_COMBHSVA_LEGACY, "A", "Alpha");
+ 
+         version_node_input_socket_name(ntree, CMP_NODE_COMBYCCA_LEGACY, "Y", "Red");
+         version_node_input_socket_name(ntree, CMP_NODE_COMBYCCA_LEGACY, "Cb", "Green");
+         version_node_input_socket_name(ntree, CMP_NODE_COMBYCCA_LEGACY, "Cr", "Blue");
+         version_node_input_socket_name(ntree, CMP_NODE_COMBYCCA_LEGACY, "A", "Alpha");
+ 
+         version_node_input_socket_name(ntree, CMP_NODE_COMBYUVA_LEGACY, "Y", "Red");
+         version_node_input_socket_name(ntree, CMP_NODE_COMBYUVA_LEGACY, "U", "Green");
+         version_node_input_socket_name(ntree, CMP_NODE_COMBYUVA_LEGACY, "V", "Blue");
+         version_node_input_socket_name(ntree, CMP_NODE_COMBYUVA_LEGACY, "A", "Alpha");
+ 
+         version_node_output_socket_name(ntree, CMP_NODE_SEPRGBA_LEGACY, "R", "Red");
+         version_node_output_socket_name(ntree, CMP_NODE_SEPRGBA_LEGACY, "G", "Green");
+         version_node_output_socket_name(ntree, CMP_NODE_SEPRGBA_LEGACY, "B", "Blue");
+         version_node_output_socket_name(ntree, CMP_NODE_SEPRGBA_LEGACY, "A", "Alpha");
+ 
+         version_node_output_socket_name(ntree, CMP_NODE_SEPHSVA_LEGACY, "H", "Red");
+         version_node_output_socket_name(ntree, CMP_NODE_SEPHSVA_LEGACY, "S", "Green");
+         version_node_output_socket_name(ntree, CMP_NODE_SEPHSVA_LEGACY, "V", "Blue");
+         version_node_output_socket_name(ntree, CMP_NODE_SEPHSVA_LEGACY, "A", "Alpha");
+ 
+         version_node_output_socket_name(ntree, CMP_NODE_SEPYCCA_LEGACY, "Y", "Red");
+         version_node_output_socket_name(ntree, CMP_NODE_SEPYCCA_LEGACY, "Cb", "Green");
+         version_node_output_socket_name(ntree, CMP_NODE_SEPYCCA_LEGACY, "Cr", "Blue");
+         version_node_output_socket_name(ntree, CMP_NODE_SEPYCCA_LEGACY, "A", "Alpha");
+ 
+         version_node_output_socket_name(ntree, CMP_NODE_SEPYUVA_LEGACY, "Y", "Red");
+         version_node_output_socket_name(ntree, CMP_NODE_SEPYUVA_LEGACY, "U", "Green");
+         version_node_output_socket_name(ntree, CMP_NODE_SEPYUVA_LEGACY, "V", "Blue");
+         version_node_output_socket_name(ntree, CMP_NODE_SEPYUVA_LEGACY, "A", "Alpha");
+ 
+         LISTBASE_FOREACH (bNode *, node, &ntree->nodes) {
+           switch (node->type) {
+             case CMP_NODE_COMBRGBA_LEGACY: {
+               node->type = CMP_NODE_COMBINE_COLOR;
+               NodeCMPCombSepColor *storage = (NodeCMPCombSepColor *)MEM_callocN(
+                   sizeof(NodeCMPCombSepColor), __func__);
+               storage->mode = CMP_NODE_COMBSEP_COLOR_RGB;
+               strcpy(node->idname, "CompositorNodeCombineColor");
+               node->storage = storage;
+               break;
+             }
+             case CMP_NODE_COMBHSVA_LEGACY: {
+               node->type = CMP_NODE_COMBINE_COLOR;
+               NodeCMPCombSepColor *storage = (NodeCMPCombSepColor *)MEM_callocN(
+                   sizeof(NodeCMPCombSepColor), __func__);
+               storage->mode = CMP_NODE_COMBSEP_COLOR_HSV;
+               strcpy(node->idname, "CompositorNodeCombineColor");
+               node->storage = storage;
+               break;
+             }
+             case CMP_NODE_COMBYCCA_LEGACY: {
+               node->type = CMP_NODE_COMBINE_COLOR;
+               NodeCMPCombSepColor *storage = (NodeCMPCombSepColor *)MEM_callocN(
+                   sizeof(NodeCMPCombSepColor), __func__);
+               storage->mode = CMP_NODE_COMBSEP_COLOR_YCC;
+               storage->ycc_mode = node->custom1;
+               strcpy(node->idname, "CompositorNodeCombineColor");
+               node->storage = storage;
+               break;
+             }
+             case CMP_NODE_COMBYUVA_LEGACY: {
+               node->type = CMP_NODE_COMBINE_COLOR;
+               NodeCMPCombSepColor *storage = (NodeCMPCombSepColor *)MEM_callocN(
+                   sizeof(NodeCMPCombSepColor), __func__);
+               storage->mode = CMP_NODE_COMBSEP_COLOR_YUV;
+               strcpy(node->idname, "CompositorNodeCombineColor");
+               node->storage = storage;
+               break;
+             }
+             case CMP_NODE_SEPRGBA_LEGACY: {
+               node->type = CMP_NODE_SEPARATE_COLOR;
+               NodeCMPCombSepColor *storage = (NodeCMPCombSepColor *)MEM_callocN(
+                   sizeof(NodeCMPCombSepColor), __func__);
+               storage->mode = CMP_NODE_COMBSEP_COLOR_RGB;
+               strcpy(node->idname, "CompositorNodeSeparateColor");
+               node->storage = storage;
+               break;
+             }
+             case CMP_NODE_SEPHSVA_LEGACY: {
+               node->type = CMP_NODE_SEPARATE_COLOR;
+               NodeCMPCombSepColor *storage = (NodeCMPCombSepColor *)MEM_callocN(
+                   sizeof(NodeCMPCombSepColor), __func__);
+               storage->mode = CMP_NODE_COMBSEP_COLOR_HSV;
+               strcpy(node->idname, "CompositorNodeSeparateColor");
+               node->storage = storage;
+               break;
+             }
+             case CMP_NODE_SEPYCCA_LEGACY: {
+               node->type = CMP_NODE_SEPARATE_COLOR;
+               NodeCMPCombSepColor *storage = (NodeCMPCombSepColor *)MEM_callocN(
+                   sizeof(NodeCMPCombSepColor), __func__);
+               storage->mode = CMP_NODE_COMBSEP_COLOR_YCC;
+               storage->ycc_mode = node->custom1;
+               strcpy(node->idname, "CompositorNodeSeparateColor");
+               node->storage = storage;
+               break;
+             }
+             case CMP_NODE_SEPYUVA_LEGACY: {
+               node->type = CMP_NODE_SEPARATE_COLOR;
+               NodeCMPCombSepColor *storage = (NodeCMPCombSepColor *)MEM_callocN(
+                   sizeof(NodeCMPCombSepColor), __func__);
+               storage->mode = CMP_NODE_COMBSEP_COLOR_YUV;
+               strcpy(node->idname, "CompositorNodeSeparateColor");
+               node->storage = storage;
+               break;
+             }
+           }
+         }
+       }
+ 
+       /* In texture nodes, replace combine/separate RGBA with combine/separate color */
+       if (ntree->type == NTREE_TEXTURE) {
+         LISTBASE_FOREACH (bNode *, node, &ntree->nodes) {
+           switch (node->

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list