[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [39702] branches/soc-2011-onion-uv-tools/ source/blender/editors: UV sculpting
Antony Riakiotakis
kalast at gmail.com
Thu Aug 25 22:47:42 CEST 2011
Revision: 39702
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=39702
Author: psy-fi
Date: 2011-08-25 20:47:41 +0000 (Thu, 25 Aug 2011)
Log Message:
-----------
UV sculpting
============
-change behaviour of brush size so that, unlike image painting, it isn't scaled with image zoom. This makes sense for uv sculpting where you sometimes need to sculpt a bigger area, similar to 3D view.
-Fixed loading of stitch preview colours for older versions. Kept check on version 2.61 since I expect to merge then.
Modified Paths:
--------------
branches/soc-2011-onion-uv-tools/source/blender/editors/interface/resources.c
branches/soc-2011-onion-uv-tools/source/blender/editors/sculpt_paint/paint_image.c
branches/soc-2011-onion-uv-tools/source/blender/editors/sculpt_paint/sculpt_uv.c
Modified: branches/soc-2011-onion-uv-tools/source/blender/editors/interface/resources.c
===================================================================
--- branches/soc-2011-onion-uv-tools/source/blender/editors/interface/resources.c 2011-08-25 17:59:37 UTC (rev 39701)
+++ branches/soc-2011-onion-uv-tools/source/blender/editors/interface/resources.c 2011-08-25 20:47:41 UTC (rev 39702)
@@ -1589,22 +1589,16 @@
}
}
- /* GSoC 2011 Onion */
- /* XXX: ONIONSUBVERSIONFILE fix before final merge! */
- if (bmain->versionfile < 258 || (bmain->versionfile == 258 && bmain->subversionfile < 4)){
- if(bmain->subversionfile < 4){
- bTheme *btheme;
- for(btheme= U.themes.first; btheme; btheme= btheme->next) {
- SETCOLF(btheme->tima.preview_stitch_face, 0.5, 0.5, 0.0, 0.2);
- SETCOLF(btheme->tima.preview_stitch_edge, 1.0, 0.0, 1.0, 0.2);
- SETCOLF(btheme->tima.preview_stitch_vert, 0.0, 0.0, 1.0, 0.2);
- SETCOLF(btheme->tima.preview_stitch_stitchable, 0.0, 1.0, 0.0, 1.0);
- SETCOLF(btheme->tima.preview_stitch_unstitchable, 1.0, 0.0, 0.0, 1.0);
- }
+ if (bmain->versionfile < 261 || (bmain->versionfile == 261 && bmain->subversionfile < 1)){
+ bTheme *btheme;
+ for(btheme= U.themes.first; btheme; btheme= btheme->next) {
+ SETCOLF(btheme->tima.preview_stitch_face, 0.5, 0.5, 0.0, 0.2);
+ SETCOLF(btheme->tima.preview_stitch_edge, 1.0, 0.0, 1.0, 0.2);
+ SETCOLF(btheme->tima.preview_stitch_vert, 0.0, 0.0, 1.0, 0.2);
+ SETCOLF(btheme->tima.preview_stitch_stitchable, 0.0, 1.0, 0.0, 1.0);
+ SETCOLF(btheme->tima.preview_stitch_unstitchable, 1.0, 0.0, 0.0, 1.0);
}
- if(bmain->subversionfile < 3){
U.hirestex = 0;
- }
}
/* GL Texture Garbage Collection (variable abused above!) */
Modified: branches/soc-2011-onion-uv-tools/source/blender/editors/sculpt_paint/paint_image.c
===================================================================
--- branches/soc-2011-onion-uv-tools/source/blender/editors/sculpt_paint/paint_image.c 2011-08-25 17:59:37 UTC (rev 39701)
+++ branches/soc-2011-onion-uv-tools/source/blender/editors/sculpt_paint/paint_image.c 2011-08-25 20:47:41 UTC (rev 39702)
@@ -5062,12 +5062,22 @@
Brush *brush= paint_brush(paint);
if(paint && brush && paint->flags & PAINT_SHOW_BRUSH) {
+ ToolSettings *ts;
float zoomx, zoomy;
const float size= (float)brush_size(brush);
const short use_zoom= get_imapaint_zoom(C, &zoomx, &zoomy);
- const float pixel_size= MAX2(size * zoomx, size * zoomy);
+ float pixel_size;
float alpha= 0.5f;
+ ts = CTX_data_scene(C)->toolsettings;
+
+ if(use_zoom && !ts->use_uv_sculpt){
+ pixel_size = MAX2(size * zoomx, size * zoomy);
+ }
+ else {
+ pixel_size = size;
+ }
+
/* fade out the brush (cheap trick to work around brush interfearing with sampling [#])*/
if(pixel_size < PX_SIZE_FADE_MIN) {
return;
@@ -5080,7 +5090,8 @@
glTranslatef((float)x, (float)y, 0.0f);
- if(use_zoom)
+ /* No need to scale for uv sculpting, on the contrary it might be useful to keep unscaled */
+ if(use_zoom && !ts->use_uv_sculpt)
glScalef(zoomx, zoomy, 1.0f);
glColor4f(brush->add_col[0], brush->add_col[1], brush->add_col[2], alpha);
Modified: branches/soc-2011-onion-uv-tools/source/blender/editors/sculpt_paint/sculpt_uv.c
===================================================================
--- branches/soc-2011-onion-uv-tools/source/blender/editors/sculpt_paint/sculpt_uv.c 2011-08-25 17:59:37 UTC (rev 39701)
+++ branches/soc-2011-onion-uv-tools/source/blender/editors/sculpt_paint/sculpt_uv.c 2011-08-25 20:47:41 UTC (rev 39702)
@@ -290,7 +290,7 @@
int invert;
int width, height;
float aspectRatio;
- float alpha;
+ float alpha, zoomx, zoomy;
Brush *brush = paint_brush(sculptdata->uvsculpt);
tool = CTX_data_scene(C)->toolsettings->uv_sculpt_tool;
@@ -298,11 +298,13 @@
alpha = brush_alpha(brush);
UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], &co[0], &co[1]);
- radius = brush_size(brush);
sima = CTX_wm_space_image(C);
ED_space_image_size(sima, &width, &height);
+ ED_space_image_zoom(sima, ar, &zoomx, &zoomy);
+
+ radius = brush_size(brush)/(width*zoomx);
aspectRatio = width/(float)height;
- radius /= width;
+
/* We will compare squares to save some computation */
radius = radius*radius;
radius_root = sqrt(radius);
@@ -624,7 +626,7 @@
SpaceImage *sima;
int width, height;
float aspectRatio;
- float alpha;
+ float alpha, zoomx, zoomy;
Brush *brush = paint_brush(sculptdata->uvsculpt);
tool = CTX_data_scene(C)->toolsettings->uv_sculpt_tool;
@@ -633,8 +635,10 @@
radius = brush_size(brush);
sima = CTX_wm_space_image(C);
ED_space_image_size(sima, &width, &height);
+ ED_space_image_zoom(sima, ar, &zoomx, &zoomy);
+
aspectRatio = width/(float)height;
- radius /= width;
+ radius /= (width*zoomx);
radius = radius*radius;
radius_root = sqrt(radius);
More information about the Bf-blender-cvs
mailing list