Go to file
Nicholas Bishop 67d27db4a1 Add dynamic topology support to sculpt mode
* User documentation:
  wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.66/Dynamic_Topology_Sculpting

* Code review for this and the other dynamic-topology commits:
  https://codereview.appspot.com/6947064/
  Thanks to Sergey for doing code review!

* Add SCULPT_OT_dynamic_topology_toggle operator to enable or disable
  dynamic topology mode

* Most brushes need little modification for dynamic topology, but for
  some it won't work well and is disabled. This decision is made in
  sculpt_stroke_dynamic_topology().

* For brushes that need original data (e.g. grab brush) the topology
  is not updated during the stroke, but some changes to original
  vertex data is accessed were made since BMesh works a little
  differently from mesh/multires. This is abstracted with
  SculptOrigVertData and associated functions.

* Smooth brush gets yet another set of functions, for mesh and
  multires and dynamic topology and, separetely, masking

* For most brushes, the topology is updated during the stroke right
  before the regular brush action takes place. This is handled in
  sculpt_topology_update().

* Exiting sculpt mode also disables dynamic topology

* Sculpt undo works differently with BMesh. Since the contents of
  nodes in the PBVH do not remain static during a sculpt session, the
  SculptUndoNodes do not correspond with PBVHNodes if dynamic topology
  is enabled. Rather, each SculptUndoNode is associated with a
  BMLogEntry.

* Sculpt undo gets a few new cases: entering and exiting dynamic
  topology does an undo push of all mesh data. Symmetrize will
  similarly push a full copy of BMesh data, although it does so
  through the BMLog API.

* Undo and redo in dynamic-topology mode will do a full recalculation
  of the PBVH.

* Add some documentation to doc/sculpt.org. This could stand to be
  expanded a lot more, for now it mostly contains test cases for the
  undo system.

* Add SCULPT_OT_optimize operator to recalculate the BVH. The BVH gets
  less optimal more quickly with dynamic topology than regular
  sculpting. There is no doubt more clever stuff we can do to optimize
  it on the fly, but for now this gives the user a nicer way to
  recalculate it than toggling modes.
2012-12-30 18:29:07 +00:00
build_files Add datafiles/locale/languages to blender.spec.in for CPack 2012-12-28 23:30:34 +00:00
doc patch [#33609] Syntax highlighting for OSL in Text Editor 2012-12-29 18:25:03 +00:00
extern Import the RangeTree library into extern 2012-12-30 18:20:52 +00:00
intern Revert change from Jens, wrong pointer check in the code. 2012-12-30 10:38:56 +00:00
release Add DNA/RNA/BKE infrastructure for dynamic-topology sculpt mode 2012-12-30 18:27:33 +00:00
source Add dynamic topology support to sculpt mode 2012-12-30 18:29:07 +00:00
CMakeLists.txt CMake: on linux, make boost now always require multithreaded libs, disabling 2012-12-13 08:46:07 +00:00
COPYING == docs == 2010-10-13 14:44:22 +00:00
GNUmakefile code cleanup: comment unused members of bmesh operator slots and some osl style edits. 2012-11-20 14:31:58 +00:00
SConstruct patch [#33669] SConstruct: Tell how to pass BF_PYTHON_INC to SCons is it is not found 2012-12-28 12:12:04 +00:00