From BlenderWiki

Jump to: navigation, search

Reduce Memory Usage

  • Remove ss->fmap need for normals
  • Don't use active verts list but nodes
    • Grab brush still needs to be converted
  • Separate undo stack for sculpt mode
  • Only create DM origindex layer when needed.
  • Only create sculpt face normals when needed.
  • Store anchored original normals per node
  • Remove ss->fmap need for smooth brush
  • Store multires displacements outside .blend in a texture file
  • Use more compact multires/subsurf DM
  • [Use some sort of compression, lzma]

Drawing

  • Support multiple partial redraws (for symmetry)
  • PBVH drawing working for more draw modes
  • Show multires base resolution when navigating view
  • Respect smooth/flat shading flags in sculpt mode
  • Sometimes wrong partial redraw rect is generated, messing up window draw
  • Sometimes normals are not updated in some places (on node boundaries?)

Multires

  • Change storage format so we have n grids for a polygon with n verts
  • Store multires displacements outside .blend
  • Simple subdiv does not work for first level
  • Add separate render level
  • Add separate sculpt level
  • Multires could do partial updates based on what changed when changing levels
  • Make smooth brush work again for multires

Performance

  • Multithreading for sculpting
  • Multithreading for multires/subsurf code.
  • Low level optimizations for functions like brush drawing or normal updates (e.g. SSE)
  • Move PBVH to DM
  • Reduce PBVH build time
  • Take advantage of subsurf/multires structure for PBVH build
  • When sculpting can't keep up with the user, it would be good if Blender did not lock up but rather kept redrawing the brush and show intermediate results. A simple time limit to force an extra redraw + delay stroke updates could solve most cases.
  • [Approximate subdivision surfaces for faster subsurf/multires]

Tools

  • Partial Refresh and Show Brush seem to not do anything
  • Clicking outside of the mesh seems to lead to getting stuck in sculpting somehow.
  • Make default falloff curve smooth instead of sharp (also nicer for paint).
  • Falloff curve is not smooth enough. Could use bspline rather than cardinal interpolation (but only internally so user doesn't see it doesn't exactly go through points).
  • Support maximum brush strength clamping, instead of always adding on top like airbrush?
  • Hiding could use editmode flags? (especially for multires)
  • Brush datablock management UI, previews?

External File Storage

  • Integrate better with object remove/duplicate/.. .
  • Make it work with library linking.
  • Support loading only lower levels.
  • Free memory after exiting lowering levels (e.g. exiting sculpt).

Other

  • Make sculpting shape keys work.