From BlenderWiki

Jump to: navigation, search
Note: This is an archived version of the Blender Developer Wiki. The current and active wiki is available on wiki.blender.org.

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
  • Store multires displacements outside .blend in a texture file
  • Use more compact multires/subsurf DM
  • Remove ss->fmap need for smooth brush

Drawing

  • Show multires base resolution when navigating view
  • Sometimes wrong partial redraw rect is generated, messing up window draw
  • Sometimes normals are not updated in some places (on node boundaries?)
  • Fall back to vertex arrays if VBO allocation fails.
  • Make sculpt VBOs work with object mode VBOs, currently mesh disappears.
  • Support multiple partial redraws (for symmetry)
  • PBVH drawing working for more draw modes
  • Respect per face smooth/flat shading flags in sculpt mode.
  • Some graphics card still have issues with partial redraw.

Multires

  • Change storage format so we have n grids for a polygon with n verts
  • Store multires displacements outside .blend
  • Add separate render level
  • Add separate sculpt level
  • Simple subdiv does not work well currently.
  • Make smooth brush work again for multires.
  • Multires could do partial updates based on what changed when changing levels
  • Make layer brush work again for multires.
  • Grab brush can tear gaps in mesh sometimes (how to reproduce?).
  • Restore old multires conversion code.
  • Make interpolation work again in edit mode.
  • Brush sometimes punches through to the other side with multires (need intersection epsilon?).

Performance

  • Multithreading for sculpting
  • Multithreading for multires/subsurf code.
  • Move PBVH to DM
  • Reduce PBVH build time
  • Take advantage of subsurf/multires structure for PBVH build
  • Low level optimizations for functions like brush drawing or normal updates (e.g. SSE)
  • 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.

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).
  • Shortcut keys for switching multires level
  • 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:
    • One brush datablock for each type with own strength size
    • Nicer list widget for browsing brushes, with previews?
    • Shortcut keys for brushes

External File Storage

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

Other

  • Make sculpting shape keys work.