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); _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs