porting adaptive spacing to head branch (from GSoC 2010)
Open, Needs TriagePublic


This is porting of a completed feature (adaptive spacing) from GSoC 2010, that accidentally got dropped during the merge.

It is working now but slow on larger meshes (suspect I introduced a bug during porting) so not yet ready for review, but adequate for some user testing.

Original work by Jason Wilkins during GSoC 2010



Hi Eric,

Adaptive spacing results in even daub spacing even though the geometry curves dramatically away from the viewport.

please see the two following images, the first shows two crease brush strokes done from the viewport, one without adaptive spacing (left) the other with (right)

After you rotate the view, you can see that there is uneven overlap with the stroke without adaptive spacing since the pixel space distance is drastically different than the on surface distance to the the geometry curvature. The adaptive spacing maintains a uniform daub distance even though the angle changes dramatically.

new version of patch - this includes the 'sampling range' for planes. Will split into two patches soon. Sampling range allows the radius for determining the area plane to be smaller/larger than the radius used for sculpting the geometry - this allows the user to more precisely determine which faces they want to use to determine the plane when using a locked plane, or make the brush follow the surface more/less closely when using an unlocked plane.

Added versioning so that sampling_range for area_normal is added to brushes.