Blender Git Commit Log

Git Commits -> Revision 3e6edf5

September 8, 2021, 07:49 (GMT)
Sculpt dyntopo:

* BLI_table_gset now internally uses a SmallHash instead of
a GHash. Profiling revealed this to be quite a bit
faster.
* This is something of a stopgap until C++-afication of
pbvh, when we'll have our pick of a bunch of
really nice C++ hashmap libs.
* pbvh_collapse_edge bites the dust; dyntopo now uses
BM_collapse_edge. Of the three topology operations
(subdivide edge, collapse edge, dissolve 3/4 valence
vertex) only dissolve still has a dyntopo-specific
implementation.
* Fixed a bunch of annoying memory corruption bugs.
* Non-manifold triangles are now detected in more
places.

SmallHash changes:

* Enabled removal
* Fixed infinite loop bug caused by
improperly counting free*d* cells
versus free cells.
* Added a BLI_smallhash_ensure_p method
that works just like the GHash version.

Sculpt replay system

* Roughed out a simple system to record and
play back sculpt strokes using a simple
text format.
* This is exclusively for
performance profiling and unit tests.
* For each brush stroke the system saves a copy
of the active StrokeCache and PaintStroke
and parts of Sculpt.

This should make profiling DRAM thrashing a lot
easier.

Commit Details:

Full Hash: 3e6edf5278e8fbc1f7163f62b67074867b531bfc
Parent Commit: 37bce7b
Lines Changed: +2433, -380

1 Added Path:

/source/blender/editors/sculpt_paint/sculpt_replay.c (+1233, -0) (View)

18 Modified Paths:

/source/blender/blenkernel/BKE_pbvh.h (+1, -1) (Diff)
/source/blender/blenkernel/intern/dyntopo.c (+764, -184) (Diff)
/source/blender/blenkernel/intern/pbvh.c (+5, -0) (Diff)
/source/blender/blenkernel/intern/pbvh_bmesh.c (+51, -120) (Diff)
/source/blender/blenkernel/intern/pbvh_intern.h (+2, -0) (Diff)
/source/blender/blenlib/BLI_smallhash.h (+1, -1) (Diff)
/source/blender/blenlib/intern/BLI_table_gset.c (+46, -22) (Diff)
/source/blender/blenlib/intern/smallhash.c (+55, -11) (Diff)
/source/blender/bmesh/intern/bmesh_log.c (+31, -0) (Diff)
/source/blender/bmesh/intern/bmesh_mesh.c (+6, -2) (Diff)
/source/blender/editors/sculpt_paint/CMakeLists.txt (+1, -0) (Diff)
/source/blender/editors/sculpt_paint/sculpt.c (+35, -12) (Diff)
/source/blender/editors/sculpt_paint/sculpt_automasking.c (+9, -11) (Diff)
/source/blender/editors/sculpt_paint/sculpt_detail.c (+1, -1) (Diff)
/source/blender/editors/sculpt_paint/sculpt_intern.h (+29, -9) (Diff)
/source/blender/editors/sculpt_paint/sculpt_smooth.c (+18, -6) (Diff)
/source/blender/editors/sculpt_paint/sculpt_undo.c (+58, -0) (Diff)
/source/blender/makesrna/intern/rna_sculpt_paint.c (+87, -0) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021