Blender Git Loki

Blender Git "sculpt-dev" branch commits.

Page: 7 / 56

October 16, 2021, 08:48 (GMT)
Sculpt: fix crash in PBVH_FACES
October 16, 2021, 08:20 (GMT)
Sculpt: forget to increment subversion in
last commit
October 16, 2021, 08:16 (GMT)
Sculpt: brush input mappings improvements

Cleaned up brush channel input mappings:

* BrushMapping now stores .min/.max
* BrushMappingDef .min/max now sets BrushMapping min/max
instead of changing the curve preset bounds.
* Fixed how BKE_brush_channel_eval_mappings evaluates
the mappings stack. Mappings now blend directly
with channel value instead of accumulating a multiplier
that's applied at the end.
* Consequently, BrushMapping->blendmode now defaults to MA_BLEND_MULT.
* Exposed BrushMapping->blendmode in RNA and UI.
Note that it doesn't support every MA_BLEND_ type,
it provides its own EnumPropertyItem list of
supported blendmodes.
* Added a random input method, BRUSH_MAPPING_RANDOM.
* Fixed BRUSH_MAPPING_ANGLE being given data in the wrong
range (all channels should be 0..1, not -pi..pi).

Other changes:
* Improved the uv smooth brush. It's still hidden behind an
experimental pref.
* Added a SCULPT_temp_customlayer_has function to check if a temporary
customdata attribute layer exists.
* Fixed a bunch of broken sliders in the paint_toolsystem_common.py.
October 15, 2021, 20:40 (GMT)
Sculpt: smothing ops now slide UVs

* Wrote a new function, SCULPT_reproject_cdata,
to reproject loop customdata after smoothing.
* SCULPT_reproject_cdata is only called if UV
layers exist.
* All of the smoothing tools (hopefully all)
use it.
* This change is necassary to properly support vector
displacement maps in the future; otherwise DynTopo
will introduce lots of noise into the uv tangent
space.
October 15, 2021, 05:52 (GMT)
Sculpt: fix adding shapekeys in sculpt mode
zeroing verts.
October 15, 2021, 03:28 (GMT)
Fix missing comment slashes that somehow
compiled on msvc
October 15, 2021, 03:11 (GMT)
Sculpt: Add various checks to detect NaNs

Most of this commit made it in one or two commits ago.
Added a little macro to detect mysterious NaNs reported
by users and that appear to be related to threading.

It's seeded in various places to hopefully catch
where this is happening.
October 15, 2021, 03:05 (GMT)
Sculpt: get rid of debug ATTR_NO_OPT's
October 15, 2021, 02:57 (GMT)
Sculpt: sculpt colors fixes

* Paint brush now uses its own temp attribute
layers instead of hijacking MSculptVert->origcolor.
* The various SCULPT_UNDO_XXX enums are now bit flags.
* Fixed anchored/drag drop mode for the paint brushes.
* Color hardening brush now works with dyntopo.
* Added a CD_FLAG_ELEM_NOINTERP flag to the customdata
API. If set it will either copy the first element
in the sources list if CD_FLAG_ELEM_NOCOPY is unset,
or nothing at all if it is.

This necassary to properly support the design
pattern whereby helper custom attributes
reset themselves in each brush stroke by comparing
a per-vertex stroke id with ss->stroke_id, thus obviating
the need to walk the entire mesh at every stroke start.
October 14, 2021, 22:20 (GMT)
Merge branch 'master' into sculpt-dev
October 14, 2021, 05:05 (GMT)
Sculpt: try to fix NaN bug
October 14, 2021, 01:59 (GMT)
Sculpt: fix missing extern keyword
October 14, 2021, 01:59 (GMT)
Sculpt: fix gcc compile errors
October 14, 2021, 01:30 (GMT)
Sculpt: More BMLog fixes and cleanups

This commit rewrites much of the core BMLog
serialization logic.

BMLog originally did not support mesh
elements changing their internal topology,
which created ID conflicts in the log. Thus
it was impossible to use much of the BMesh API.
Instead DynTopo had its own implementations of
BM_edge_collapse and triangle edge splitting
that worked by recreating local mesh topology
from scratch.

I got rid of these functions a while ago and
tried to add support for elements changing
topology to BMLog. Unfortunatey I struggled to work
out all of the edge cases, and it turned out easier to
refactor the core serializer methods wholesale.
October 13, 2021, 10:25 (GMT)
Sculpt: fix shape keys being destroyed by
SCULPT_UNDO_GEOMETRY/SYMMETRIZE pushes.

* Also cleaned up bmesh conversion parameters in
a few other places.
October 13, 2021, 09:45 (GMT)
Sculpt: add buttons in sculpt header to toggle
vertex color drawing.

* Added two buttons to toggle between vertex
and material color modes in workbench drawing
mode.
* They are labeled "Colors" and "Normal" to
avoid confusion; "Vertex" is ambiguous, while
"Material" might be taken to impley "EEVEE."
* For now they only show up if a sculpt paint
brush is active.
* Updated startup.blend so the sculpt layout
has vertex drawing mode on by default.
October 13, 2021, 09:12 (GMT)
Sculpt: BMLog stuff

* BMLog now has a more fine-grained logging
facility to track the call chains
that produce specific log elements.
* Wrote a new function in bmesh_core.c to
dump local geometry around an element to
stdout in .obj format.
* Edge collapse now properly handles the
fact that bmesh handles sharp flags
inversely, i.e. edges *not* marked
with BM_ELEM_SMOOTH are sharp.

* Wrote a new BMLog API that handles elements
undergoing topological changes a bit better.
- BM_log_[edge/face]_[pre/post]
- Idea is to call the _pre before calling
collapse or split edge, then _post afterwards.
- No longer need to assign new IDs
in certain cases to avoid confusing BMLog.
- Other parts of BMLog may now be redundant;
need to check.

* Deleted some #if 0'd code
* Fixed a bug in BLI_smallhash_ensure_p, it didn't properly
set up state for when smallhash is used as a very simple
set.
October 12, 2021, 22:18 (GMT)
Sculpt: shapekey fixes

* Fixed the completely broken shapekey conversion
in BM_mesh_bm_from_me; this bug is most likely
in master as well.
* Note that, while shapekeys now work in dyntopo
it does not represent a complete sculpt layers
implementation; the layers are still stored in
world space.
* The motivation for fixing this was to keep
dyntopo from destroying shapekey data, which
was the only form of custom attributes it didn't
support.
* That was because shapekeys were never being converted
to custom attributes for bmesh to begin with, the
conversion code was quite broken.

In addition to all this, this commit also has
a fix dyntopo collapse fixes.
October 12, 2021, 08:05 (GMT)
Sculpt: fix missing NULL check
October 12, 2021, 07:34 (GMT)
Sculpt: fix collapse for non-manifold edges

* BM_edge_collapse now has an option to use
a new collapse implementation that can
handle non-manifold geometry properly.
* The aforementioned implementation is a replacement
for bmesh_kernel_join_vert_kill_edge. Note that
the old code still exists as
bmesh_kernel_join_vert_kill_edge_fast and is used
by default.
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021