2023-02-28 Sculpt/Texture/Paint Module Meeting

Practical Info

This is a weekly video chat meeting for planning and discussion of development related to the sculpting and painting in Blender. Any contributor (developer, UI/UX designer, writer, …) working on these features in Blender is welcome to join and add proposed items to the agenda.
Write us a message in the module chat if you’re interested.

For users and other interested parties, we ask to read the meeting notes instead so that the meeting can remain focused.


  • Julien Kaspar
  • Joe Eagar
  • Daniel Bystedt


Important Topics

Julien is absent in March

Julien is taking March off. He’s still reachable in the chat but has very limited availibility.
By the end of the week the most important planning and tasks for Blender 3.5 should be clear.

The regular module meetings will be on pause for the time being.
In the case a meeting is needed, it can be scheduled.

Planning for Paint Mode

Task: #96225 - PBVH image texture painting implementation - blender - Blender Projects

The planning for 2023 likely won’ focus time of core devs for the new texture painting.
We need to make clear what the most important task to wrap up are, for a first usable implementation.

Joe agreed to work on the texture painting starting in June/July after wrapping up his current work.
He gave a 4-5 week estimate for blur & smear brush but the implementation might get more demanding and take longer.
Smaller tasks can also be handled before so the more important implementations take less time.
We will look at texture painting goals and see which ones should be prioritized.

Multires will require more research and development.
So far, the VDM Multires implementation turns out to be relying on the same data structures as the new texture painting. But there is still a lot to do and prototype before starting that project.

A better priority than Mutlires could also be to focus on the brush code itself and making it easier for new and existing developers.
We do want to prepare and target to do that next year, as this needs more core developer attention.
Joe already made some prototypes and will look into the topic until then.

Conclusion on the timeframe for this year
Q1/2 = Dyntopo Refactor and related tasks
Q3 = Vital Texture Painting features
Q4 = Prototypes and approved proposal for a new Multires & Brush engine

4.0 Keymap Revamp

Blender 4.0 is coming closer, which means some breaking changes can be done.
Julien created a task for important Keymap issues and is currently creating a spreadsheet of issues & conflicts.

Task: #105298 - Sculpt/Painting Modes: Revamp Keymap - blender - Blender Projects

This needs discussion with related modules.
Julien will make sure to involve everyone affected.
The team shared some shortcuts that are redundant and can easily be removed.

Current Tasks


Joe will review and merge #104568 - Sculpt: updated Mask and Face Set menu operators - blender - Blender Projects

Texture Paint Auto-Mask Support

Joe can add the PR for this patch to Gitea. The state was close to final approval. This can then be merged for Blender 3.6 Experimental.

Dyntopo Refactor #104613

Joe reverted most of sculpt-dev stuff in the patch.
Soon the rest of to dos can be handled and bugs can be fixed.
Removing old libraries that are obsolete with C++ is also planned.

The task is still on track with Blender 3.6. Julien will tag as a 3.6 Milestone.

Roll Texture Mapping #104449

Joe kept the PR up-to-date.
He will get in contact with Hans to talk about the curve implementation, so the patch can move forward.

Other Topics

Finding PRs for the module

There are some community Pull Requests that are a bit hard to find and keep track of.
We need to remind ourselves to tag them with the module to find the easier.

Geometry Nodes in Sculpt Mode

This was a followup discussion based on the research that Daniel is doing into base mesh creation tools for sculpt mode.
Geometry Nodes could be ideal for those use cases.

A geo nodes brush implementation is possible but Joe is skeptical due to performance and the amount of code necessary
The performance issue will especially occur with incremental operations.

Instead we could focus geo nodes operators and brushes in sculpt mode to only operate once confirmed.
For example a mesh will be created once a stroke is applied and operators can be left non-modal.
Various tools for inserting meshes, creating arrays, base mesh building, trimming/adding would be good test cases.

Geometry Nodes support in sculpt mode is unclear anyway at the moment and the first implementations of this will likely be exclusive to Curve object types.
But these ideas should be discussed with the geo nodes team.

VDM demo file

This should get finished before the end of the week.
Julien updated file with more info and use cases.
Daniel can wrap up the work and remove / lower the complexity of some of the demos in the files.

Joe suggested that the shrinkwrap workflow could be automated with an iterative geo nodes setup.
This and the SLIM operation could make the process more automatic for VDM creation in the short term.

After that the focus should be on making this an operator within sculpt mode.
To ideal workflow is to just mask the surface of the sculpted area you’d like to make a VDM brush.
Then an operator will project this sculpt onto a UV map and bake VDM map and even create a new VDM brush for you.

Joe was already looking into the UV solver for brushes a year ago.
He has ideas on the implementation and can spend a bit of time on writing it down.
This can then be developed later on or picked up by someone else in the meantime.
This documentation can go on the module wiki: