Commit: 9691524970014032cd612b14fd468bfb0c402eb5
Author: Nicholas Bishop
Date:   Thu Feb 12 22:19:02 2015 +0100
Branches: cycles-ptex-49
https://developer.blender.org/rB9691524970014032cd612b14fd468bfb0c402eb5

Better method for updating adjacent Ptex borders

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

M       intern/ptex/bpx_c_api.cpp
M       source/blender/blenkernel/intern/bke_ptex.c

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

diff --git a/intern/ptex/bpx_c_api.cpp b/intern/ptex/bpx_c_api.cpp
index 7e57371..1b1e095 100644
--- a/intern/ptex/bpx_c_api.cpp
+++ b/intern/ptex/bpx_c_api.cpp
@@ -377,6 +377,10 @@ bool BPX_rect_borders_update(BPXImageBuf *bpx_buf, const 
BPXRect *dst_rect,
                        
                const ROI src_roi = bpx_rect_to_oiio_roi(*src_rect);
                bpx_create_border(buf, dst_roi, dst_edge, src_roi, src_edge);
+
+               // Also update in the other direction. TODO(nicholasbishop):
+               // names are a bit confusing now
+               bpx_create_border(buf, src_roi, src_edge, dst_roi, dst_edge);
        }
 
        // Average adjacent borders to fill in
diff --git a/source/blender/blenkernel/intern/bke_ptex.c 
b/source/blender/blenkernel/intern/bke_ptex.c
index 2ce2efc..fe2b71a 100644
--- a/source/blender/blenkernel/intern/bke_ptex.c
+++ b/source/blender/blenkernel/intern/bke_ptex.c
@@ -585,21 +585,8 @@ static bool bke_ptex_imbuf_filter_borders_update(ImBuf 
*ibuf, GSet *rects)
        rects_stride = sizeof(*ibuf->ptex_rects);
 
        if (rects) {
-               /* TODO(nicholasbishop): this is not a great
-                * solution. Adjacent edges should probably just be updated
-                * together or something... also need to consider corners */
-               GSet *adj_rects = BLI_gset_ptr_new("GSet adj_rects");
-
                GSET_ITER (iter, rects) {
                        const BPXRect *rect = BLI_gsetIterator_getKey(&iter);
-                       int side;
-
-                       for (side = 0; side < BPX_RECT_NUM_SIDES; side++) {
-                               const int adj_index = rect->adj[side].index;
-                               if (adj_index != BPX_RECT_SIDE_ADJ_NONE) {
-                                       BLI_gset_add(adj_rects, 
&all_rects[adj_index]);
-                               }
-                       }
 
                        if (!BPX_rect_borders_update(bpx_buf, rect, all_rects,
                                                                                
 rects_stride))
@@ -608,19 +595,6 @@ static bool bke_ptex_imbuf_filter_borders_update(ImBuf 
*ibuf, GSet *rects)
                                break;
                        }
                }
-
-               GSET_ITER (iter, adj_rects) {
-                       const BPXRect *rect = BLI_gsetIterator_getKey(&iter);
-
-                       if (!BPX_rect_borders_update(bpx_buf, rect, all_rects,
-                                                                               
 rects_stride))
-                       {
-                               result = false;
-                               break;
-                       }
-               }
-
-               BLI_gset_free(adj_rects, NULL);
        }
        else {
                int i;

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to