[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [37138] branches/soc-2011-onion: Revision: 29285
Jason Wilkins
Jason.A.Wilkins at gmail.com
Fri Jun 3 18:49:49 CEST 2011
Revision: 37138
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=37138
Author: jwilkins
Date: 2011-06-03 16:49:49 +0000 (Fri, 03 Jun 2011)
Log Message:
-----------
Revision: 29285
Author: nicholasbishop
Date: 4:44:11 PM, Sunday, June 06, 2010
Message:
* Sculpting now pays attention to the mask
Modified Paths:
--------------
branches/soc-2011-onion/source/blender/editors/sculpt_paint/sculpt.c
Property Changed:
----------------
branches/soc-2011-onion/
Property changes on: branches/soc-2011-onion
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/soc-2010-jwilkins:28499-37009
/branches/soc-2010-nicolasbishop:28448-29265,29277,29284,29324,29350
/trunk/blender:36833-37054
+ /branches/soc-2010-jwilkins:28499-37009
/branches/soc-2010-nicolasbishop:28448-29285,29324,29350
/trunk/blender:36833-37054
Modified: branches/soc-2011-onion/source/blender/editors/sculpt_paint/sculpt.c
===================================================================
--- branches/soc-2011-onion/source/blender/editors/sculpt_paint/sculpt.c 2011-06-03 16:20:20 UTC (rev 37137)
+++ branches/soc-2011-onion/source/blender/editors/sculpt_paint/sculpt.c 2011-06-03 16:49:49 UTC (rev 37138)
@@ -823,7 +823,7 @@
/* Return a multiplier for brush strength on a particular vertex. */
/* XXX: a lot of this code is the same as code in paint_stroke for loading the overlay */
-static float tex_strength(SculptSession *ss, Brush *br, float *point, const float len)
+static float tex_strength(SculptSession *ss, Brush *br, float *point, float *mask, const float len)
{
MTex *mtex = &br->mtex;
float avg= 1;
@@ -955,6 +955,9 @@
avg *= brush_curve_strength(br, len, ss->cache->radius); /* Falloff curve */
+ if (mask)
+ avg *= *mask;
+
return avg;
}
@@ -1207,7 +1210,7 @@
origno= unode->no;
if(sculpt_brush_test(&test, vd.co)) {
- const float fade = bstrength*tex_strength(ss, brush, vd.co, test.dist)*frontface(brush, ss->cache->frontface_start, ss->cache->frontface_range, ss->cache->view_normal, origno[vd.i]);
+ const float fade = bstrength*tex_strength(ss, brush, vd.co, vd.mask, test.dist)*frontface(brush, ss->cache->frontface_start, ss->cache->frontface_range, ss->cache->view_normal, origno[vd.i]);
float avg[3], val[3];
neighbor_average(ss, avg, vd.vert_indices[vd.i]);
@@ -1307,7 +1310,7 @@
fno= data[index].no;
if(sculpt_brush_test(&test, co)) {
- const float fade = bstrength*tex_strength(ss, brush, co, test.dist)*frontface(brush, ss->cache->frontface_start, ss->cache->frontface_range, ss->cache->view_normal, origno[k]);
+ const float fade = bstrength*tex_strength(ss, brush, co, &(data[x + y*gridsize].mask), test.dist)*frontface(brush, ss->cache->frontface_start, ss->cache->frontface_range, ss->cache->view_normal, origno[k]);
float *avg, val[3];
float n;
@@ -1419,7 +1422,7 @@
if (sculpt_brush_test(&test, vd.co)) {
//if(sculpt_brush_test_cyl(&test, vd.co, ss->cache->location, an)) {
/* offset vertex */
- float fade = tex_strength(ss, brush, vd.co, test.dist)*frontface(brush, ss->cache->frontface_start, ss->cache->frontface_range, an, origno[vd.i]);
+ float fade = tex_strength(ss, brush, vd.co, vd.mask, test.dist)*frontface(brush, ss->cache->frontface_start, ss->cache->frontface_range, an, origno[vd.i]);
mul_v3_v3fl(proxy[vd.i], offset, fade);
@@ -1473,7 +1476,7 @@
if (sculpt_brush_test(&test, vd.co)) {
//if(sculpt_brush_test_cyl(&test, vd.co, ss->cache->location, an)) {
/* offset vertex */
- float fade = tex_strength(ss, brush, vd.co, test.dist)*frontface(brush, ss->cache->frontface_start, ss->cache->frontface_range, an, origno[vd.i]);
+ float fade = tex_strength(ss, brush, vd.co, vd.mask, test.dist)*frontface(brush, ss->cache->frontface_start, ss->cache->frontface_range, an, origno[vd.i]);
mul_v3_v3fl(proxy[vd.i], offset, fade);
@@ -1541,7 +1544,7 @@
BLI_pbvh_vertex_iter_begin(ss->pbvh, nodes[n], vd, PBVH_ITER_UNIQUE) {
if(sculpt_brush_test(&test, vd.co)) {
/* offset vertex */
- const float fade = tex_strength(ss, brush, vd.co, test.dist)*frontface(brush, ss->cache->frontface_start, ss->cache->frontface_start, an, origno[vd.i]);
+ const float fade = tex_strength(ss, brush, vd.co, vd.mask, test.dist)*frontface(brush, ss->cache->frontface_start, ss->cache->frontface_start, an, origno[vd.i]);
float val1[3];
float val2[3];
@@ -1591,7 +1594,7 @@
BLI_pbvh_vertex_iter_begin(ss->pbvh, nodes[n], vd, PBVH_ITER_UNIQUE) {
if(sculpt_brush_test(&test, vd.co)) {
- float fade = bstrength*tex_strength(ss, brush, vd.co, test.dist)*frontface(brush, ss->cache->frontface_start, ss->cache->frontface_range, ss->cache->view_normal, origno[vd.i]);
+ float fade = bstrength*tex_strength(ss, brush, vd.co, vd.mask, test.dist)*frontface(brush, ss->cache->frontface_start, ss->cache->frontface_range, ss->cache->view_normal, origno[vd.i]);
float val[3];
sub_v3_v3v3(val, test.location, vd.co);
@@ -1657,7 +1660,7 @@
BLI_pbvh_vertex_iter_begin(ss->pbvh, nodes[n], vd, PBVH_ITER_UNIQUE) {
if(sculpt_brush_test(&test, origco[vd.i])) {
- const float fade = bstrength*tex_strength(ss, brush, origco[vd.i], test.dist)*frontface(brush, ss->cache->frontface_start, ss->cache->frontface_range, an, origno[vd.i]);
+ const float fade = bstrength*tex_strength(ss, brush, origco[vd.i], vd.mask, test.dist)*frontface(brush, ss->cache->frontface_start, ss->cache->frontface_range, an, origno[vd.i]);
mul_v3_v3fl(proxy[vd.i], grab_delta, fade);
@@ -1707,7 +1710,7 @@
BLI_pbvh_vertex_iter_begin(ss->pbvh, nodes[n], vd, PBVH_ITER_UNIQUE) {
if(sculpt_brush_test(&test, vd.co)) {
- const float fade = bstrength*tex_strength(ss, brush, vd.co, test.dist)*frontface(brush, ss->cache->frontface_start, ss->cache->frontface_range, an, origno[vd.i]);
+ const float fade = bstrength*tex_strength(ss, brush, vd.co, vd.mask, test.dist)*frontface(brush, ss->cache->frontface_start, ss->cache->frontface_range, an, origno[vd.i]);
mul_v3_v3fl(proxy[vd.i], cono, fade);
@@ -1765,7 +1768,7 @@
BLI_pbvh_vertex_iter_begin(ss->pbvh, nodes[n], vd, PBVH_ITER_UNIQUE) {
if(sculpt_brush_test(&test, vd.co)) {
- const float fade = bstrength*tex_strength(ss, brush, vd.co, test.dist)*frontface(brush, ss->cache->frontface_start, ss->cache->frontface_range, an, origno[vd.i]);
+ const float fade = bstrength*tex_strength(ss, brush, vd.co, vd.mask, test.dist)*frontface(brush, ss->cache->frontface_start, ss->cache->frontface_range, an, origno[vd.i]);
mul_v3_v3fl(proxy[vd.i], grab_delta, fade);
@@ -1817,7 +1820,7 @@
BLI_pbvh_vertex_iter_begin(ss->pbvh, nodes[n], vd, PBVH_ITER_UNIQUE) {
if(sculpt_brush_test(&test, origco[vd.i])) {
- const float fade = bstrength*tex_strength(ss, brush, origco[vd.i], test.dist)*frontface(brush, ss->cache->frontface_start, ss->cache->frontface_range, an, origno[vd.i]);
+ const float fade = bstrength*tex_strength(ss, brush, origco[vd.i], vd.mask, test.dist)*frontface(brush, ss->cache->frontface_start, ss->cache->frontface_range, an, origno[vd.i]);
mul_v3_v3fl(proxy[vd.i], cono, fade);
@@ -1866,7 +1869,7 @@
BLI_pbvh_vertex_iter_begin(ss->pbvh, nodes[n], vd, PBVH_ITER_UNIQUE) {
if(sculpt_brush_test(&test, origco[vd.i])) {
- const float fade = bstrength*tex_strength(ss, brush, origco[vd.i], test.dist)*frontface(brush, ss->cache->frontface_start, ss->cache->frontface_range, an, origno[vd.i]);
+ const float fade = bstrength*tex_strength(ss, brush, origco[vd.i], vd.mask, test.dist)*frontface(brush, ss->cache->frontface_start, ss->cache->frontface_range, an, origno[vd.i]);
mul_v3_m3v3(proxy[vd.i], m, origco[vd.i]);
sub_v3_v3(proxy[vd.i], origco[vd.i]);
@@ -1990,7 +1993,7 @@
BLI_pbvh_vertex_iter_begin(ss->pbvh, nodes[n], vd, PBVH_ITER_UNIQUE) {
if(sculpt_brush_test(&test, vd.co)) {
- const float fade = bstrength*tex_strength(ss, brush, vd.co, test.dist)*frontface(brush, ss->cache->frontface_start, ss->cache->frontface_range, ss->cache->view_normal, origno[vd.i]);
+ const float fade = bstrength*tex_strength(ss, brush, vd.co, vd.mask, test.dist)*frontface(brush, ss->cache->frontface_start, ss->cache->frontface_range, ss->cache->view_normal, origno[vd.i]);
float val[3];
if(vd.fno) copy_v3_v3(val, vd.fno);
@@ -2350,7 +2353,7 @@
sub_v3_v3v3(val, intr, vd.co);
if (plane_trim(ss->cache, brush, val, &fade)) {
- fade *= bstrength*tex_strength(ss, brush, vd.co, sqrt(test.dist))*frontface(brush, ss->cache->frontface_start, ss->cache->frontface_range, an, origno[vd.i]);
+ fade *= bstrength*tex_strength(ss, brush, vd.co, vd.mask, sqrt(test.dist))*frontface(brush, ss->cache->frontface_start, ss->cache->frontface_range, an, origno[vd.i]);
mul_v3_v3fl(proxy[vd.i], val, fade);
@@ -2433,7 +2436,7 @@
sub_v3_v3v3(val, intr, vd.co);
if (plane_trim(ss->cache, brush, val, &fade)) {
- fade *= bstrength*tex_strength(ss, brush, vd.co, sqrt(test.dist))*frontface(brush, ss->cache->frontface_start, ss->cache->frontface_range, an, origno[vd.i]);
+ fade *= bstrength*tex_strength(ss, brush, vd.co, vd.mask, sqrt(test.dist))*frontface(brush, ss->cache->frontface_start, ss->cache->frontface_range, an, origno[vd.i]);
mul_v3_v3fl(proxy[vd.i], val, fade);
@@ -2536,7 +2539,7 @@
sub_v3_v3v3(val, intr, vd.co);
if (plane_trim(ss->cache, brush, val, &fade)) {
- fade *= cube_fade*bstrength*tex_strength(ss, brush, vd.co, test.dist)*frontface(brush, ss->cache->frontface_start, ss->cache->frontface_range, an, origno[vd.i]);
+ fade *= cube_fade*bstrength*tex_strength(ss, brush, vd.co, vd.mask, test.dist)*frontface(brush, ss->cache->frontface_start, ss->cache->frontface_range, an, origno[vd.i]);
mul_v3_v3fl(proxy[vd.i], val, fade);
@@ -2607,7 +2610,7 @@
sub_v3_v3v3(val, intr, vd.co);
if (plane_trim(ss->cache, brush, val, &fade)) {
- fade *= bstrength*tex_strength(ss, brush, vd.co, sqrt(test.dist))*frontface(brush, ss->cache->frontface_start, ss->cache->frontface_range, an, origno[vd.i]);
+ fade *= bstrength*tex_strength(ss, brush, vd.co, vd.mask, sqrt(test.dist))*frontface(brush, ss->cache->frontface_start, ss->cache->frontface_range, an, origno[vd.i]);
mul_v3_v3fl(proxy[vd.i], val, fade);
@@ -2678,7 +2681,7 @@
sub_v3_v3v3(val, intr, vd.co);
if (plane_trim(ss->cache, brush, val, &fade)) {
- fade *= bstrength*tex_strength(ss, brush, vd.co, sqrt(test.dist))*frontface(brush, ss->cache->frontface_start, ss->cache->frontface_range, an, origno[vd.i]);
+ fade *= bstrength*tex_strength(ss, brush, vd.co, vd.mask, sqrt(test.dist))*frontface(brush, ss->cache->frontface_start, ss->cache->frontface_range, an, origno[vd.i]);
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list