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