[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [19742] trunk/blender/source/blender: Optional margin for packing UV islands and the 'Pack Islands' menu item.
Campbell Barton
ideasman42 at gmail.com
Wed Apr 15 20:20:21 CEST 2009
Revision: 19742
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=19742
Author: campbellbarton
Date: 2009-04-15 20:20:19 +0200 (Wed, 15 Apr 2009)
Log Message:
-----------
Optional margin for packing UV islands and the 'Pack Islands' menu item. Useful for baking with bleed enabled.
Modified Paths:
--------------
trunk/blender/source/blender/makesdna/DNA_scene_types.h
trunk/blender/source/blender/src/buttons_editing.c
trunk/blender/source/blender/src/parametrizer.c
trunk/blender/source/blender/src/parametrizer.h
trunk/blender/source/blender/src/unwrapper.c
Modified: trunk/blender/source/blender/makesdna/DNA_scene_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_scene_types.h 2009-04-15 17:53:12 UTC (rev 19741)
+++ trunk/blender/source/blender/makesdna/DNA_scene_types.h 2009-04-15 18:20:19 UTC (rev 19742)
@@ -412,6 +412,8 @@
short unwrapper;
float uvcalc_radius;
float uvcalc_cubesize;
+ float uvcalc_margin;
+ float pad;
short uvcalc_mapdir;
short uvcalc_mapalign;
short uvcalc_flag;
Modified: trunk/blender/source/blender/src/buttons_editing.c
===================================================================
--- trunk/blender/source/blender/src/buttons_editing.c 2009-04-15 17:53:12 UTC (rev 19741)
+++ trunk/blender/source/blender/src/buttons_editing.c 2009-04-15 18:20:19 UTC (rev 19742)
@@ -6622,7 +6622,10 @@
uiDefButBitS(block, TOGN, UVCALC_NO_ASPECT_CORRECT, B_NOP, "Image Aspect",100,row,200,butH,&G.scene->toolsettings->uvcalc_flag, 0, 0, 0, 0, "Scale the UV Unwrapping to correct for the current images aspect ratio");
row-= butHB+butS;
- uiDefButBitS(block, TOG, UVCALC_TRANSFORM_CORRECT, B_NOP, "Transform Correction",100,row,200,butH,&G.scene->toolsettings->uvcalc_flag, 0, 0, 0, 0, "Correct for UV distortion while transforming, (only works with edge slide now)");
+ uiDefButBitS(block, TOG, UVCALC_TRANSFORM_CORRECT, B_NOP, "Transform Correction",100,row,200,butH,&G.scene->toolsettings->uvcalc_flag, 0, 0, 0, 0, "Correct for UV distortion while transforming, (only works with edge slide now)");
+
+ row-= butHB+butS;
+ uiDefButF(block, NUM,B_NOP ,"Pack Margin:",100,row,200,butH, &G.scene->toolsettings->uvcalc_margin, 0.0, 1.0, 10, 2, "Add a margin between UV islands when unwrapping or with 'Pack Islands' in the UV window");
row= 180;
Modified: trunk/blender/source/blender/src/parametrizer.c
===================================================================
--- trunk/blender/source/blender/src/parametrizer.c 2009-04-15 17:53:12 UTC (rev 19741)
+++ trunk/blender/source/blender/src/parametrizer.c 2009-04-15 18:20:19 UTC (rev 19742)
@@ -4125,8 +4125,8 @@
}
}
-void param_pack(ParamHandle *handle)
-{
+void param_pack(ParamHandle *handle, float margin)
+{
/* box packing variables */
boxPack *boxarray, *box;
float tot_width, tot_height, scale;
@@ -4158,13 +4158,13 @@
p_chart_uv_bbox(chart, trans, chart->u.pack.size);
- trans[0] = -trans[0];
- trans[1] = -trans[1];
+ trans[0] = -(trans[0] - margin);
+ trans[1] = -(trans[1] - margin);
p_chart_uv_translate(chart, trans);
- box->w = chart->u.pack.size[0] + trans[0];
- box->h = chart->u.pack.size[1] + trans[1];
+ box->w = (chart->u.pack.size[0] + trans[0]) + margin*2;
+ box->h = (chart->u.pack.size[1] + trans[1]) + margin*2;
box->index = i; /* warning this index skips PCHART_NOPACK boxes */
}
Modified: trunk/blender/source/blender/src/parametrizer.h
===================================================================
--- trunk/blender/source/blender/src/parametrizer.h 2009-04-15 17:53:12 UTC (rev 19741)
+++ trunk/blender/source/blender/src/parametrizer.h 2009-04-15 18:20:19 UTC (rev 19742)
@@ -73,7 +73,7 @@
/* Packing */
-void param_pack(ParamHandle *handle);
+void param_pack(ParamHandle *handle, float margin);
/* Average area for all charts */
Modified: trunk/blender/source/blender/src/unwrapper.c
===================================================================
--- trunk/blender/source/blender/src/unwrapper.c 2009-04-15 17:53:12 UTC (rev 19741)
+++ trunk/blender/source/blender/src/unwrapper.c 2009-04-15 18:20:19 UTC (rev 19742)
@@ -327,7 +327,7 @@
param_lscm_solve(handle);
param_lscm_end(handle);
- param_pack(handle);
+ param_pack(handle, G.scene->toolsettings->uvcalc_margin);
param_flush(handle);
@@ -442,7 +442,7 @@
if(!EM_texFaceCheck()) return;
handle = construct_param_handle(em, 1, 0, 1);
- param_pack(handle);
+ param_pack(handle, G.scene->toolsettings->uvcalc_margin);
param_flush(handle);
param_delete(handle);
More information about the Bf-blender-cvs
mailing list