[Bf-blender-cvs] [9691524] cycles-ptex-49: Better method for updating adjacent Ptex borders

Nicholas Bishop noreply at git.blender.org
Fri Feb 13 17:30:22 CET 2015


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;




More information about the Bf-blender-cvs mailing list