Developer Meeting Notes

4 posts were split to a new topic: Blender UV unwrapping development

20 March 2023
Notes for weekly communication of ongoing projects and modules.

Announcements

Modules & Projects

New Features and Changes

UV Editing

  • Improve UV Packing efficiency with non-square aspect ratio (commit ) (Chris Blackbourn)

Geometry Nodes

  • Add first milestone of SDF Volume nodes as experimental feature (commit ) (Erik Abrahamsson)

EEVEE Next

  • Deferred Pipeline (commit ) (Clément Foucault)
  • IrradianceCache surfels debug display (commit ) (Miguel Pozo)

Mesh

  • Parallelize extraction of UV maps (commit ) (Hans Goudey)
  • Remove unnecessary mesh position copying (commit ) (Tuan N)
  • Optimize BMesh to Mesh conversion with UV maps (commit ) (Hans Goudey)

Import / Export

  • PLY
    • Optimize new exporter (2x faster) (commit ) (Aras Pranckevicius)
    • Improve robustness and performance of the new importer (commit ) (Aras Pranckevicius)

Cycles

  • Adjust resolution divider to achieve a more usable viewport (commit ) (Alaska)
  • Small optimizations to filtering in BVH (commit , commit , commit , commit ) (Nikita Sirgienko)

User Interface

  • Add scroll to sidebar tabs (commit ) (guishe)
  • Increase the size of the “Open Recent” list (commit ) (Harley Acheson)
  • File Browser
    • Make full file name label draggable (commit ) (Julian Eisel)
  • Remove info message that GPU subdivision being used (commit ) (Brecht Van Lommel)

Python API

  • Implement ViewLayer.aovs.remove (commit ) (Nischay-Raj)

Weekly Reports

Summary
11 Likes

27 March 2023 (Upcoming - finalized at 18:00 CEST)
Notes for weekly communication of ongoing projects and modules.

Welcomes

Announcements

Modules & Projects

New Features and Changes

Compositor

  • Realtime compositor
    • Implement Anti-Aliasing node (commit ) (Omar Emara)
  • Full frame compositor
    • Support backdrop offset for viewer node (commit ) (Habib Gahbiche)

Animation

  • Gaussian Smooth operator for Graph Editor (commit ) (Christoph Lendenfeld)
  • Add duration display to frame range settings (commit ) (Christoph Lendenfeld)
  • Optionally draw bone relation lines between bone heads (commit ) (Sybren A. Stüvel)

User Interface

  • Separate ColorRamp node name into Color Ramp (commit ) (Daniel Salazar)
  • Support the primary clipboard for console & 3D text selection (commit ) (Campbell Barton)
  • Align tab labels towards panels (commit ) (Pablo Vazquez)
  • Open render window when clicking camera icon while rendeering (commit ) (Remy Fayet)
  • Extract and translate builtin asset catalog names and asset names and descriptions (commit , commit) (Damien Picard)

Mesh

  • UV Editing
    • Add UV Packing support for irregular shapes using the “xatlas” strategy (commit ) (Chris Blackbourn)
  • Performance
    • Replace builtin face corner storage with generic attributes (commit ) (Hans Goudey)
    • Set bounds eagerly for spherical and cylindrical primitive nodes (commit ) (Alexander Revkov)
    • Optimize edit-mesh undo memory compaction with selection (commit , commit ) (Campbell Barton)

Cycles

  • Improve normals and shading of diffuse materials (commit ) (Weizhen Huang)
  • Performance
    • Build Light Tree in parallel (commit ) (Weizhen Huang)
    • Refactor Light Tree to improve efficiency (commit ) (Weizhen Huang)
    • Simplify computations in when offsetting glossy reflections (commit ) (Weizhen Huang)

Python API

  • Limit BGL deprecation messages (commit ) (Jeroen Bakker)
  • Add deprecation warning to MeshUVLoop (commit ) (Martijn Versteegh)
  • Raise an exception when removing an AOV which is not found (commit) (Campbell Barton)

Weekly Reports

Summary
9 Likes

3 April 2023
Notes for weekly communication of ongoing projects and modules.

Announcements

Modules & Projects

New Features and Changes

Mesh

  • Support “Select More/Less” for faces and vertices in weight, vertex, and texture paint modes (commit , commit) (Christoph Lendenfeld)
  • UV Editing
    • Add option to pack UVs in original bounding box (commit ) (Chris Blackbourn)
    • Add rotating packer variant for improved packing efficiency (commit ) (Chris Blackbourn)

Animation

  • Graph Editor - grey out area outside of normalization range (commit) (Christoph Lendenfeld)
  • Insert Keyframe only on active FCurve (commit ) (Christoph Lendenfeld)
  • Auto frame curves Y extents when hitting normalize (commit) (Christoph Lendenfeld)

EEVEE/Viewport

  • Optimize texture usage flags (commit ) (Jason Fielder)
  • Metal Backend
    • Optimize texture usage in glutil (commit ) (Jason Fielder)
    • Optimize SSR shader for Apple Silicon (commit ) (Jason Fielder)

Import/Export

  • PLY: Optimize UV values merging in PLY and OBJ exporters (commit , commit ) (Aras Pranckevicius)
  • Speed up OBJ, ascii PLY and STL import by 5-10% with fast_float.h external library update (commit ) (Aras Pranckevicius)

Linux/Wayland

  • Add fractional-scale interface support (commit ) (Campbell Barton)
  • Support window activation (commit ) (Campbell Barton)

Geometry Nodes

  • Copy cached no loose edge status in realize instances (commit ) (Hans Goudey)
  • Tag no loose edges after curve to mesh node (commit ) (Hans Goudey)
  • Skip recomputing geometry bounds after translation (commit ) (Hans Goudey)
  • Slightly improve curve to mesh performance (commit ) (Hans Goudey)

User Interface

  • Update Noto Emoji font with Unicode 15.0 (commit ) (Harley Acheson)
  • Expose hardcoded “Rotate Normals” transform option in keymap (commit ) (Germano Cavalcante)

Weekly Reports

Summary
12 Likes

11 April 2023
Notes for weekly communication of ongoing projects and modules.

Modules & Projects

New Features and Changes

User Interface

  • Enable string properties for alt-click buttons for multiple objects (commit ) (Philipp Oeser)
  • Text Object International Case Change (commit ) (Harley Acheson)
  • Text editor
    • Update syntax highlighting for different Python strings (commit ) (Jon Denning)
  • Wayland/Linux
    • Avoid up-scaling window content (commit ) (Campbell Barton)
    • Improve internal fractional scaling behavior (commit ) (Campbell Barton)

Realtime Compositor

  • Implement Map UV node (commit ) (Omar Emara)
  • Implement Fog Glow Glare node (commit ) (Omar Emara)
  • Implement Displace node (commit ) (Omar Emara)
  • Implement Z Combine node (commit ) (Omar Emara)

EEVEE/Viewport

  • Selection occlusion (commit ) (Jorijn de Graaf)
  • Improve the shader cache garbage collection behavior (commit ) (Miguel Pozo)
  • Use edge-connected polygons to calculate wireframe factor (commit ) (Germano Cavalcante)

Cycles

Mesh

  • Replace MPoly struct with offset indices (commit ) (Hans Goudey)
  • UV editing
    • Improve layout efficiency with rotation enabled (commit ) (Chris Blackbourn)
  • Texture paint
    • Always respect edit mode hiding (commit ) (Philipp Oeser)
  • Use more efficient update tag when flipping faces (commit) (Jake Faulkner)

Nodes

  • Move data-block default values with link drag search (commit ) (Iliya Katueshenock)
  • Add dropdown to select group socket subtype (commit ) (Hans Goudey)

Animation

  • Allow NLA strips to be horizontally shuffled (commit ) (Nate Rupsis)

Python API

  • bl_ui_utils.layout.operator_context context manager (commit ) (Sybren A. Stüvel)

Weekly Reports

Summary
9 Likes

17 April 2023
Notes for weekly communication of ongoing projects and modules.

Modules & Projects

New Features and Changes

UV Editing

  • Add overlapping island support for UV packing (commit ) (Chris Blackbourn)

Cycles

  • Add instancing support in light tree (commit ) (Weizhen Huang)

Geometry

  • Performance
    • Use implicit sharing to reduce memory usage when copying geometry data (commit , commit ) (Jacques Lucke, Hans Goudey)
    • Avoid unnecessarily initializing geometry data arrays (commit , commit , commit ) (Hans Goudey)
  • Attributes
    • Add 2D integer vector attribute type (commit ) (Hans Goudey)

User Interface

  • Clipboard copy/paste images (Windows only) (commit ) (Harley Acheson)
  • Add tooltips for assets (commit ) (Harley Acheson)
  • Support slash character in fuzzy search initials mode (commit ) (Daniel Salazar)
  • Adjust color picker positioning (commit ) (Harley Acheson)
  • Enable multi-propery editing for string buttons (commit ) (Philipp Oeser)
  • Node editor
    • Add slash separators to node compound names (commit , commit ) (Daniel Salazar)
  • 3D view
    • Improve visualization when dragging Gizmos (commit ) (mano-wii)
    • Allow float kerning for text objects (commit ) (Damien Picard)
  • Quick tooltip showing tab name for Properties editor tabs (commit ) (Julian Eisel)
  • Tweak interface text (commit ) (Damien Picard)

Images

  • Use OpenImageIO library for loading and saving a variety of image formats (commit ) (Jesse Yurkovich)
  • Improve performance and quality in image viewer (commit ) (Jeroen Bakker)

Python API

  • Support multiple custom script directories in Preferences (commit ) (Julian Eisel)
  • Add function to create links to virtual sockets (commit ) (Damien Picard)

Platform: macOS

  • Faster linkers LLD and Mold are easily usable by new options WITH_LINKER_LLD/MOLD (commit )(Ankit Meel)

Weekly Reports

Summary
13 Likes

Any indication if this keeps islands together when re-unwrapping, too? As I automatically re-unwrap every time I add a seam with my hotkey, one thing that really loses me a lot of time is having to re-stack islands that are meant to be mirrored

Nope, sorry - It just applies to the Pack Islands action-menu:

image

When you re-unwrap everything is treated as default.

If you’re using a mirror modifier your Applied UV islands will stick together when packing:

1 Like

Yeah, but sadly that’s rarely useful as I work with models that aren’t 100% mirrored, they just need mirrored UV’s. I’ll have to think about how to solve this issue another way!

24 April 2023
Notes for weekly communication of ongoing projects and modules.

Welcomes

  • Nathan Vegdahl joins the team in Amsterdam to work on the Animation 2025 project as part of the Animation & Rigging module team.

Announcements

Modules & Projects

New Features and Changes

Mesh

  • Subdivision
    • Tag result mesh with no loose edges or vertices (commit ) (Hans Goudey)
  • Cache loose vertices (commit ) (Hans Goudey)
  • Move edges to a generic attribute (commit ) (Hans Goudey)

Geometry Nodes

  • New Index of Nearest node (commit ) (Iliya Katueshenock)
  • Improve performance by reducing copying with implicit sharing in several nodes (commit ) (Hans Goudey)
  • Reduce overhead in lazy function evaluator (commit , commit , commit ) (Jacques Lucke)
  • Slightly optimize mesh to curve node (commit ) (Hans Goudey)
  • Avoid last buffer copy in Blur Attribute node (commit ) (Iliya Katueshenock)

User Interface

  • Text object
    • Operators to move cursor to the top or bottom (commit ) (Damien Picard)
    • Add Text selection operator (commit ) (Harley Acheson)
  • Make it possible to add shortcuts to UI operators (commit ) (Richard Antalik)
  • Assets
    • Do not show blank read-only metadata (commit ) (Harley Acheson)
  • Nodes
    • Change the name of Invert nodes to Invert Color (commit ) (zanqdo)

Video Sequence Editor

  • Add sound strip retiming support (commit ) (Richard Antalik)

EEVEE/Viewport

  • Increase concurrent shader compilation threads (commit ) (Jason Fielder)
  • Use more optimal GPU curve/hair evaluation method (commit ) (Jason Fielder)
  • Resolve high memory pressure on EEVEE render (commit ) (Jason Fielder)
  • Realtime Compositor
    • Implement ID Mask node (commit ) (Omar Emara)

User Interface

  • Add OS file operations within file browser (Windows only) (commit ) (Harley Acheson)
  • Add open files to system recent files (macOS) (commit ) (Ankit Meel)

Animation

  • Add parent space alignment option to the transform orientation gizmo (commit ) (Nate Rupsis)
  • Make properties from motion path library overrideable (commit ) (Christoph Lendenfeld)

Grease Pencil

  • Several Weight Paint additions (commit ) (Sietse Brouwer)

Cycles

  • Re-enable AMD GPU binaries on Windows (commit ) (Brecht Van Lommel)
  • Add hardware raytracing support to oneAPI device (commit , commit , commit ) (Nikita Sirgienko, Xavier Hallade)

Curves

  • Optimize edit mode selection draw extraction (commit ) (Hans Goudey)

Core

  • Rework ID swap code to properly handle embedded ID pointers (commit ) (Bastien Montagne)
  • Performance
    • Ignore large mesh arrays in library override code (commit ) (Jacques Lucke)

Sculpt

  • Update Mask and Face Set menu operators (commit ) (Patrick Foley)

Python API

  • Expose background drawing argument for GPUOffScreen.draw_view3d (commit ) (Yuntoko)

Weekly Reports

Summary
7 Likes

Changes are coming to devtalk. The forum is largely going to be for developers only from here on out.
Devtalk category reorganization - Announcements - Developer Forum (blender.org)

That means all of us users who have an account there will no longer find much use of it unless there is an official feedback thread started by the core team. It will help in moderation on their part at least for the purpose of onboarding, but it does mean we will be limited to BA or right-click select if we want to start our own threads related to development.

2 Likes

This has more or less always been the case- most discussion threads on developer.blender.org are closed immediately and told to go to RCS instead

3 Likes

Hence the name “devtalk”.

6 Likes

The goal of this forum has always been onboarding of new contributors to code, and place for technical discussions.
That does not mean there will be no use of it for users.

The fact, that only developers will be able to create new threads in Feature & Design Feedback category, does not mean that users will not be able to propose mock-ups or feature requests.
They will continue to be able to do it, through pertinent threads, similar to Big Blender Sculpt mode, EEVEE development updates or Cycles Development updates threads, here.
That should avoid to have topics, developers did not have time to answer to, to be lost in the void.

New creators of patches or custom branches will continue to be able to create threads in Contributing to Blender category.
So, except increasing chances for users of the forum to obtain a reply, that does not really change anything to how devtalk forum is used by users.

9 Likes

On devtalk this:

This is a forum for Blender development. For questions about using blender, feature requests and bugs, please use the links above.

…is a sticky on all pages… and still there are questions someone can read in the docs.blender manual

or questions like: when will this or that improve…, can blender be more like…

…ohh and additionally there are special links for Docs, Community Ideas and Bugreport

But still a lot of noise which distract the devs…

1 Like

1 May 2023 (Upcoming - finalized at 19:00 CEST)
Notes for weekly communication of ongoing projects and modules.

Welcomes

Announcements

Modules & Projects

Geometry Nodes

New Features and Changes

UV Editing

  • Add new packing option “scale to fit” (commit ) (Chris Blackbourn)
  • Improve packing efficiency by rotating to minimum square (commit ) (Chris Blackbourn)

User Interface

  • 3D viewport
    • Add anti aliasing to transform constraints (commit ) (Yonatan Maor)
    • Cancel 3D viewport operations using Escape (commit ) (Campbell Barton)
    • Improve measure/ruler text position (commit ) (Harley Acheson)
  • Add subtype dropdown for float-type custom properties (commit ) (Colin Basnett)
  • Translation
    • Improve geometry nodes field tooltips (commit ) (Damien Picard)

Cycles

  • Add HIP RT device for AMD hardware ray tracing on Windows (commit , commit) (Sahar A. Kashi)
  • Use compiler intrinsics for integer rounding (commit , commit, commit) (Xavier Hallade, Sergey Sharybin)

Geometry Nodes

  • Generate proper fog volume in Mesh to Volume node (commit ) (Erik Abrahamsson)
  • Performance
    • Use implicit sharing in store/capture attribute nodes (commit ) (Hans Goudey)
    • Index of Nearest node
      • Use grain size based on tree sizes (commit ) (Hans Goudey)
      • Use span for non-single ids (commit ) (Hans Goudey)
  • Make spacings unitless in String to Curves node (commit ) (Damien Picard)

Realtime Compositor

  • Implement Texture node (commit ) (Omar Emara)
  • Implement Corner Pin node (commit ) (Omar Emara)
  • Prioritize Viewer output node (commit ) (Omar Emara)
  • Optimize image textures (commit ) (Omar Emara)

Mesh

  • Reduce memory usage during face corner normal calculation, simplify threading (commit , commit , commit ) (Hans Goudey)
  • Subdivision Surface
    • Optimize coarse position extraction with topology cache (commit , commit ) (Hans Goudey)

Assets

  • Support relative path option per-asset library (commit ) (Dalai Felinto)

Python API

  • Add accessor to the “is missing” status of data-blocks (commit ) (Bastien Montagne)

Weekly Reports

Summary
11 Likes

8 May 2023
Notes for weekly communication of ongoing projects and modules.

Welcomes

Announcements

  • Blender gets five slots for Google Summer of Code 2023. Congratulations to the contributors who will work on Blender this summer.
  • Updated roadmap of Blender Foundation supported projects.

Modules & Projects

New Features and Changes

User Interface

  • Add Proportional Size to Proportional Edit popover (commit ) (Germano Cavalcante)
  • Assets
    • Let “Clear Asset” act on entire selection (commit ) (Julian Eisel)
    • Prefer selected IDs over single active ID for asset mark/clear (commit) (Julian Eisel)
  • Fix or improve many UI messages (commit ) (Damien Picard)
  • Node editor
    • Improve link drag search value moving (commit ) (illua1)

UV Editor

  • Add pinned island support to uv packer (commit ) (Chris Blackbourn)
  • Tuning rotating to minimum square during packing (commit) (Chris Blackbourn)
  • Improve packing efficiency (commit ) (Chris Blackbourn)

Library Overrides

  • Fix/improve partial resync detection and process (commit, commit) (Bastien Montagne)

Cycles

  • Re-enable HIP on Linux (commit ) (Brecht Van Lommel)

Mesh

  • Split triangle face indices into a separate array (commit ) (Hans Goudey)

Animation

  • Allow select range in animation editor (commit ) (Pratik Borhade)
  • Clean up “Key” menu in Graph Editor (commit) (Christoph Lendenfeld)
  • Allow renaming F-curve modifiers (commit) (Pratik Borhade)

Geometry Nodes

  • Add simulation support (commit ) (Jacques Lucke)

Realtime Compositor

  • Implement Stabilize 2D node (commit ) (Omar Emara)
  • Implement Mask node (commit ) (Omar Emara)

Weekly Reports

Summary
7 Likes

15 May 2023
Notes for weekly communication of ongoing projects and modules.

Welcomes

  • Brad Clark gets a dev grant and works in the Animation & Rigging module as product manager for project Character Animation 2025.

Announcements

Modules & Projects

New Features and Changes

User Interface

  • Support operator enums in Quick Favorites (commit ) (Philipp Oeser)
  • Add parent transform orientation icon (commit ) (Kevin C. Burke)
  • Various UI text and layout improvements (commit , commit , commit ) (Damien Picard, Daniel Salazar, Harley Acheson)

Geometry Nodes

  • Simulation
    • Add “Calculate to Frame” operator (commit ) (Lukas Tönne)
    • Implement subframe mixing (commit ) (Hans Goudey)
    • Make caching optional (commit ) (Hans Goudey)
    • Allow skipping frames during playback (commit ) (Jacques Lucke)
    • Timeline editor
      • Show simulated frames only when there is a simulation (commit ) (Jacques Lucke)
      • Add display toggle for cache in timeline (commit ) (Hans Goudey)
      • Add theme option for simulated frames (commit ) (Jacques Lucke)
  • Change “Separate Components” node output order to match Spreadsheet (commit ) (Aliaksandr Sharstniou)
  • Add “Signed Distance” experimental input node (commit ) (Erik Abrahamsson)
  • Performance
    • Slightly optimize mesh to curve node (commit ) (Hans Goudey)
    • Skip topology map in extrude node with no edge attributes (commit ) (Hans Goudey)

Cycles

  • oneAPI: enable hardware raytracing for Raytrace/MNEE kernels (commit , commit ) (Xavier Hallade)

UV Editing

  • Add progress par and cancel ability to UV packing (commit ) (Chris Blackbourn)

Viewport Compositor

  • Implement Denoise node (commit ) (Omar Emara)
  • Implemenet Plane Track Deform node (commit ) (Omar Emara)

Mesh

  • Improve custom normal calculation performance, reduce memory usage (commit ) (Hans Goudey)
  • Tag no loose verts and edges when converting from BMesh (commit ) (Hans Goudey)

Weekly Reports

Summary
11 Likes

22 May 2023
Notes for weekly communication of ongoing projects and modules.

Announcements

  • Release cycle: Blender 3.6 is in beta now, with focus on bugfixing. Blender 4.0 development starts in the main branch.
  • USD Project Update

Modules & Projects

New Features and Changes

User Interface

  • 3D View
    • Support navigation while transforming in 3D view (commit , commit ) (Germano Cavalcante)
    • Rearrange edit mode options panel (commit ) (Germano Cavalcante)
  • Rename Copy Vertex Group to Duplicate Vertex Group (commit ) (Daniel Salazar)
  • Properly center text under previews (commit ) (Julian Eisel)
  • Improve error message for make relative/make absolute operators (commit) (Colin Basnett)
  • Allow configuration of some operator confirmations (commit ) (Harley Acheson)
  • Add timeline to Geometry Nodes workspace (commit ) (Pablo Vazquez)

Geometry Nodes

  • Add experimental Sample Volume node (commit ) (Erik Abrahamsson)
  • Performance
    • Only use realized geometry in mesh boolean node (commit ) (Hans Goudey)
    • Keep loose vert/edge tags for extrude and split edges (commit) (Hans Goudey)
  • Remove realize instances legacy behavior (commit ) (Hans Goudey)

Mesh

  • Move bevel weight to generic attribute (commit ) (Hans Goudey)
  • Write mesh and movieclip with new format (commit ) (Hans Goudey)

Cycles

  • Improve performance of orthonormal vector function (commit ) (Weizhen Huang)
  • Merge Anisotropic BSDF node into Glossy BSDF node (commit ) (Lukas Stockner)
  • oneAPI
    • Use local memory for faster shader sorting (commit ) (Nikita Sirgienko)
    • Enable hardware raytracing by default (commit ) (Xavier Hallade)
  • Enable HIP-RT for AMD hardware ray-tracing (commit ) (Sahar A. Kashi)

Video Sequence Editor

  • Add go to current frame operator to view menu (commit ) (Richard Antalik)
  • Smooth transition for retiming tool (commit ) (Richard Antalik)

Animation

  • Update NLA “TAB” tweak mode to be full stack evaluation (commit ) (Nate Rupsis)

EEVEE

  • Add Transparent Render-Pass option (commit ) (Clément Foucault)

Import/Export

  • USD Export
  • New Curves/Hair Support (commit ) (Sonny Campbell)
  • Option to add a root prim (commit ) (Michael Kowalski)

Realtime Compositor

  • Implement Convert Color Space node (commit ) (Omar Emara)

Python API

  • Remove deprecated useless width_hidden property (commit) (Hans Goudey)
  • Remove deprecated face/vert custom data API (commit) (Hans Goudey)
  • Remove sculpt vertex colors from RNA API (commit) (Hans Goudey)

Weekly Reports

Summary
6 Likes

Nice. I hope base point transform will merge too.

i hate it


Single option became whole “UVs” panel and option that affect UV the most is not even in that panel :face_with_diagonal_mouth:.

3 Likes