Developer Meeting Notes

4 November 2024
Notes for weekly communication of ongoing projects and modules.

Announcements

Modules & Projects

New Features and Changes

This is a selection of changes that happened over the last week. For a full overview including fixes, code only changes and more visit projects.blender.org .

BLI

  • Support accessing underlying memory buffer of Vector container (commit) - (Jacques Lucke)

Compositor

Implement various nodes for new CPU compositor:

  • Color Balance (commit ) - (Omar Emara)
  • Color Correction (commit) - (Omar Emara)
  • Exposure (commit) - (Omar Emara)
  • RGB Curves (commit) - (Omar Emara)
  • Hue Correct (commit) - (Omar Emara)
  • Color Ramp (commit) - (Omar Emara)
  • RGB to BW (commit ) - (Omar Emara)
  • Hue Saturation Value (commit ) - (Omar Emara)
  • Invert (commit) - (Omar Emara)
  • Alpha Convert (commit) - (Omar Emara)
  • Set Alpha (commit) - (Omar Emara)
  • Separate Color (commit) - (Omar Emara)
  • Combine Color (commit) - (Omar Emara)
  • Alpha Over (commit) - (Omar Emara)
  • Mix RGB (commit ) - (Omar Emara)

Curves

  • Convert handle types when transforming (commit ) - (Laurynas Duburas)
  • Align handles in transform operator (commit ) - (Laurynas Duburas)

Cycles

  • Remove support for Vega in Cycles AMD HIP backend (commit ) - (Alaska)

GHOST/SDL

  • Map the GrLess key (commit ) - (Campbell Barton)

GHOST/Wayland

  • Cache the result of hasClipboardImage (commit ) - (Campbell Barton)

GPU

  • Multithread compilation of shaders during tests (commit ) - (Clément Foucault)
  • Printf: Print buffer content even in case of overflow (commit ) - (Clément Foucault)

RNA

  • Make the PointerRNA struct non-trivial (commit) - (Bastien Montagne)

Sculpt

  • Use unified color for paint brushes by default (commit ) - (Sean Kim)

Subdiv

  • Remove evaluator C-API wrapper (commit ) - (Hans Goudey)

UI

  • Allow Region Overlap in Node Editor sidebar (commit ) - (Pablo Vazquez)
  • Add asset browser option to sort by catalogs, new default (commit ) - (Julian Eisel)
  • Replace “Extension” with “Add-on” for enable/disable operators (commit ) - (Campbell Barton)

USD

  • Make use of our valid() API for consistent validation (commit) - (Jesse Yurkovich)
  • Add support for animated volumes (commit ) - (Jesse Yurkovich)

Windows

  • Implement warning on Splash Screen regarding emulated builds on ARM64 (commit) - (Anthony Roberts)

Weekly Reports

Summary


In other news:

5 Likes

this looks interesting :v:

3 Likes

11 November 2024
Notes for weekly communication of ongoing projects and modules.

Announcements

Modules & Projects

This Summer’s Sculpt Mode Refactor — Blender Developers Blog

Developers Hans Goudey and Sean Kim give a report on the optimizations to sculpt mode in Blender 4.3.


Geometry Nodes Workshop: October 2024 — Blender Developers Blog

Summary of what was discussed at the Geometry Nodes workshop in October 2024.


Meeting Notes:

New Features and Changes

This is a selection of changes that happened over the last week. For a full overview including fixes, code only changes and more visit projects.blender.org .

Compositor

Implement nodes / functions for new CPU compositor:

  • Bokeh Image (commit ) - (Omar Emara)
  • Mask (commit) - (Omar Emara)
  • Texture (commit ) - (Omar Emara)
  • Movie Clip (commit) - (Omar Emara)
  • File Output (commit) - (Omar Emara)
  • Parallel reduction (commit) - (Omar Emara)
  • Levels (commit) - (Omar Emara)
  • Normalize(commit) - (Omar Emara)
  • Split (commit) - (Omar Emara)
  • SMAA (commit ) - (Omar Emara)
  • Anti-Alias (commit ) - (Omar Emara)
  • Z Combine (commit ) - (Omar Emara)
  • Tone Map (commit) - (Omar Emara)
  • Convert Color Space (commit) - (Omar Emara)
  • Bilinear sampling (commit) - (Omar Emara)

Curves

  • Add method to set curve types to RNA (commit ) - (Hans Goudey)
  • Select linked pick operator (commit) - (Hans Goudey)

Cycles

  • Tweak scheduling of GPU kernel compilation (commit ) - (Sergey Sharybin)

Draw

  • Reduce overhead of sharing meshes without attributes (commit) - (Jeroen Bakker)

Extensions

  • Exclude “wheels” from the static JSON package listing (commit) - (Campbell Barton)
  • Support for filtering based on Python versions (commit) - (Campbell Barton)
  • Quote paths in error messages, improve missing file error (commit) - (Campbell Barton)

GPU

  • Improve GLSL-C++ compatibility (commit) - (Clément Foucault)
  • Enable shader interface check for geometry shader fallback (commit) - (Clément Foucault)
  • Add support for shader assert (commit ) - (Clément Foucault)

Geometry Nodes

  • Avoid potential copy of attribute in simulation bake mixing (commit ) - (Hans Goudey)

Sculpt

  • Simplify & optimize position undo with shape keys (commit ) - (Hans Goudey)

USD

  • Enable material displacement support (commit ) - (Jesse Yurkovich)

VSE

  • Use snapping for retiming keys (commit) - (Richard Antalik)

ffmpeg

  • 10 and 12 bit video support (commit ) - (Aras Pranckevicius)

Weekly Reports

Summary
11 Likes

We are just waiting for the completely overhauled bevel tool now and its related node type, as true prismatic/boolean extrusion (after a long wait) is now in the tracker and ready for review.
#130172 - Edit Mesh: New Extrude Boolean Tool - blender - Blender Projects

4 videos are on the tracker page to show what it can do.

15 Likes

That’s fantastic! Looks really good.

The devtalk feedback thread
Extrude Boolean - Feedback - Feature & Design Feedback - Developer Forum

Germano wants this in Blender 4.4, so download the build and give it a stress test.

4 Likes

18 November 2024
Notes for weekly communication of ongoing projects and modules.

Announcements

Modules & Projects

New Features and Changes

This is a selection of changes that happened over the last week. For a full overview including fixes, code only changes and more visit projects.blender.org .

Anim

  • Add slot selector to NLA Action track buttons (commit) - (Sybren A. Stüvel)

Compositor

Ported more nodes to the new CPU compositor:

  • Keying Screen (commit ) - (Omar Emara)
  • Stabilize 2D (commit) - (Omar Emara)
  • EWA filtering (commit) - (Omar Emara)
  • Plane Deform (commit) - (Omar Emara)
  • Corner Pin (commit) - (Omar Emara)
  • Flip node (commit) - (Omar Emara)
  • Crop node (commit) - (Omar Emara)
  • Zero boundary EWA sampling (commit) - (Omar Emara)
  • Movie Distortion (commit) - (Omar Emara)
  • Lens Distort (commit) - (Omar Emara)
  • Displace node (commit) - (Omar Emara)
  • Map UV node (commit) - (Omar Emara)

Cycles

  • oneAPI: build binaries for Battlemage GPUs (commit) - (Nikita Sirgienko)

Geometry Nodes

  • Add “Limit Surface” option in subdivision surface node (commit ) - (Hans Goudey)

Nodes

  • Remove wrong tweak handling for reroutes (commit ) - (Leon Schittek)
  • Slightly improve editor drawing performance with large node trees (commit) - (Hans Goudey)

USD

  • Add option to merge shape with parent xform during import (commit) - (Charles Flèche)

VSE

  • Add Box Roundness option to text strips (commit) - (kitt)

Vulkan

  • Show supported device extensions in system-info output (commit) - (Lalit Shankar Chowdhury)

Weekly Reports

Summary
7 Likes

25 November 2024
Notes for weekly communication of ongoing projects and modules.

Announcements

Modules & Projects

New Features and Changes

This is a selection of changes that happened over the last week. For a full overview including fixes, code only changes and more visit projects.blender.org .

Anim

  • Draw prop as ‘orange’ when changed value with stashed Actions present (commit ) - (Sybren A. Stüvel)
  • Symmetrize collection assignments when symmetrizing Armatures (commit ) - (Christoph Lendenfeld)

Attributes

  • Add 2D 16 bit integer type (commit ) - (Hans Goudey)

Compositor

  • Add fallback variant for pixel loader (commit ) - (Omar Emara)
  • Add integer pixel load and store functions (commit ) - (Omar Emara)
  • Implement nodes for new CPU compositor
    • ID Mask(commit ) - (Omar Emara)
    • Ellipse Mask (commit) - (Omar Emara)
    • Box Mask (commit ) - (Omar Emara)
    • Jump Flooding (commit ) - (Omar Emara)
    • Double Edge Mask (commit) - (Omar Emara)
    • Cryptomatte (commit) - (Omar Emara)
    • Sun Beams (commit ) - (Omar Emara)
    • Despeckle (commit) - (Omar Emara)
    • Denoise (commit ) - (Omar Emara)
    • Pixelate (commit) - (Omar Emara)
    • Summed Area Table (commit) - (Omar Emara)
    • Classic Kuwahara (commit ) - (Omar Emara)
    • Filter (commit) - (Omar Emara)
    • Bilateral Blur (commit) - (Omar Emara)
    • Symmetric Blur Weights (commit) - (Omar Emara)
    • Symmetric Separable Blur Weights (commit) - (Omar Emara)
    • Symmetric Separable Blur (commit) - (Omar Emara)
    • Deriche Gaussian blur (commit) - (Omar Emara)
    • Blur (commit ) - (Omar Emara)
    • Anisotropic Kuwahara (commit ) - (Omar Emara)
    • Van Vliet Gaussian blur(commit ) - (Omar Emara)

Cycles

  • Add OptiX 8.1 support (commit ) - (Patrick Mours)

DRW

  • Make manager and passes allow range of handles (commit ) - (Clément Foucault)
  • Batch Cache (commit ) - (Clément Foucault)

Geometry Nodes

  • Port triangulate node from BMesh to Mesh (commit ) - (Hans Goudey)

Grease Pencil

  • Setter for drawing property on frame python API (commit ) - (Falk David)

Nodes

  • Add new shader for node sockets (commit ) - (Leon Schittek)

Overlay-Next

  • Enable by default and add option to enable legacy code (commit ) - (Clément Foucault)

Report template

  • Add link to manual system information collection page (commit ) - (Alaska)

Spreadsheet

  • Improve mesh selection filter domain interpolation (commit ) - (Hans Goudey)

Transform

  • Remove unused “GPENCIL_SHRINKFATTEN” (commit) - (Germano Cavalcante)

UI

  • Keymap Editor: Add margin from scrollbar (commit ) - (Pablo Vazquez)
  • Support persistent view state, write tree-view height to files (commit ) - (Julian Eisel)
  • UV Editor: Remove unrelated tool panels (commit ) - (Nika Kutsniashvili)
  • Changes to Docking Operation Descriptions (commit) - (Harley Acheson)
  • Minimum Docking Target Size (commit ) - (Harley Acheson)
  • Notification When Hiding Objects (commit ) - (Harley Acheson)
  • Face Orientation Front Color Transparent (commit ) - (Harley Acheson)
  • Calm Warning in #130617 About Variable Mismatch (commit ) - (Harley Acheson)
  • Tweak VSE Text Strip UI to use panels for outline/shadow/box (commit ) - (Aras Pranckevicius)
  • Area Move Snap to Min and Max (commit) - (Harley Acheson)
  • Misc Changes to Area Splitting Operator (commit ) - (Harley Acheson)
  • Slightly Softer 50% Split Snap (commit) - (Harley Acheson)
  • Nodes: Remove some snapping options (commit ) - (Habib Gahbiche)

USD

  • Add option to merge transform and shape on export (commit ) - (Charles Flèche)
  • Add support for animated point instancers (commit) - (Jesse Yurkovich)

VSE

  • Optimize Text Box w/ roundness with multi-threading (commit ) - (Aras Pranckevicius)
  • Remove byte position index from our time codes (commit ) - (Sebastian Parborg)

Vulkan

  • Use Vulkan 1.1 feature enablement (commit ) - (Jeroen Bakker)
  • Add support for legacy platforms (commit ) - (Jeroen Bakker)
  • Make dynamic rendering optional (commit ) - (Jeroen Bakker)
  • Limit NVIDIA drivers to 550 and above. (commit ) - (Jeroen Bakker)

Weekly Reports

Summary
6 Likes

18 posts were split to a new topic: Adopting a CLA for Blender contributions

2 December 2024
Notes for weekly communication of ongoing projects and modules.

Announcements

Modules Reorganization

  • Images & Movies sub-module has been moved from Core to the Pipeline & I/O module.
  • Asset System is now its own module, and not a sub-module from Pipeline & I/O anymore.

Modules & Projects

New Features and Changes

This is a selection of changes that happened over the last week. For a full overview including fixes, code only changes and more visit projects.blender.org .

BLI

  • Add pixel sampling functions with arbitrary UV wrapping modes (commit ) - (Aras Pranckevicius)

Compositor

Implement more nodes for the new CPU compositor:

  • Morphological Blurring(commit ) - (Omar Emara)
  • Bokeh Blur (commit) - (Omar Emara)
  • Defocus (commit) - (Omar Emara)
  • Symmetric Separable Variable Size Blur (commit ) - (Omar Emara)
  • Directional Blur (commit) - (Omar Emara)
  • Inpaint (commit) - (Omar Emara)
  • Vector Blur (commit) - (Omar Emara)
  • Morphological Distance Feather Weights (commit) - (Omar Emara)
  • Morphological Distance algorithm (commit) - (Omar Emara)
  • Morphological Distance Feather algorithm (commit) - (Omar Emara)
  • Dilate (commit) - (Omar Emara)
  • Keying (commit) - (Omar Emara)
  • Glare (commit ) - (Omar Emara)

Cycles

  • Use fused OptiX OSL programs (commit ) - (Lukas Stockner)

Extensions

  • Suppress noisy prints for extension wheel filtering (commit) - (Campbell Barton)
  • Use replace exists with lexists to check a path can be used (commit) - (Campbell Barton)

GPU

  • Move Polyline shader to primitive expansion (commit) - (Clément Foucault)
  • Add back support for uchar4 color when using widelines (commit) - (Clément Foucault)

Geometry Nodes

  • Add dynamic label to warning node (commit) - (seanterelle)

Grease Pencil

  • Add all supported modes to simplify operator (commit) - (YimingWu)
  • Save Layer Group expanded state (commit ) - (Falk David)

Nodes

  • Support subpanels in node group interface (commit ) - (Jacques Lucke)

Sequencer

  • Use uchar4 colors for drawing quad buffer again (commit) - (Clément Foucault)

Subdiv

  • Start replacement of “converter” abstraction (commit ) - (Hans Goudey)

UI

  • Show File Name on Recent Item Tooltip (commit) - (Harley Acheson)
  • Improved Calculation of Width of Collapsed Node Title (commit) - (Harley Acheson)
  • Implement snapping for node resizing (commit) - (Habib Gahbiche)
  • Win32 - Clipboard Image Paste from File Path (commit) - (Harley Acheson)

Vulkan

  • Allow suspending/resuming of layer tracking (commit) - (Jeroen Bakker)
  • Add method to query debug group of node (commit) - (Jeroen Bakker)
  • Add support for GPU_logic_op_xor_set (commit) - (Jeroen Bakker)

Weekly Reports

Summary
9 Likes

9 December 2024
Notes for weekly communication of ongoing projects and modules.

Welcomes

Modules & Projects

New Features and Changes

This is a selection of changes that happened over the last week. For a full overview including fixes, code only changes and more visit projects.blender.org .

Animation

  • Change parameters of slots.new() RNA function (commit ) - (Nathan Vegdahl)
  • Start slot handles at a high number (commit ) - (Sybren A. Stüvel)

Compositor

  • Implement Scale node or new CPU compositor (commit ) - (Omar Emara)
  • Optimize pixel access in new CPU compositor (commit ) - (Omar Emara)
  • Allow CPU denoising in GPU compositor to use all CPU threads (commit ) - (Alaska)

Curves

  • Add python function to compare curve geometries (commit ) - (Falk David)

Geometry Nodes

  • Add “Collection” and “Object” input nodes (commit ) - (quackarooni)
  • Support text overlay when viewing matrix attributes (commit ) - (Jacques Lucke)
  • Improve detecting data-block dependencies (commit ) - (Jacques Lucke)

Grease Pencil

  • “Set Start Point” operator (commit ) - (Sean)

ImageEngine

  • Migrate to new draw manager (commit ) - (Jeroen Bakker)

Mesh

  • Move BVH storage to shared cache system (commit ) - (Hans Goudey)
  • Move custom normals to a generic attribute (commit ) - (Hans Goudey)

Metal

  • Remove SSBO Vertex Fetch (commit ) - (Clément Foucault)

Nodes

  • Change Compositing Switch node class from Layout to Converter (commit ) - (Jonas Holzman)
  • Expose Node Color Tag to the Python API (commit) - (Jonas Holzman)
  • Use topology cache directly for is_linked property in Python (commit) - (Jacques Lucke)

OBJ Import

  • Improved NURBS curve support (commit ) - (Laurynas Duburas)

Python

  • Add API function to reorder curves (commit) - (Falk David)

Sculpt

  • Optimize sculpt vertex neighbor storage (commit ) - (Hans Goudey)
  • Prevent entering mode when object is invisible (commit) - (Sean Kim)

Selection

  • Remove usage of Depth picking for viewport selection (commit) - (Clément Foucault)

UI

  • Use Separate Mouse Cursors for Join Operations (commit ) - (Harley Acheson)
  • Avoid redundancy with Adaptive Time Steps property name (commit) - (Bartosz Kosiorek)
  • Add missing tooltips to Principled BSDF for Sheen and Thin Film (commit) - (Bartosz Kosiorek)
  • Allow setting active modifier on linked object (commit ) - (Hans Goudey)

USD

  • Write sparse values for Camera, Light, and Skeleton attribute data (commit) - (Jesse Yurkovich)

Vulkan

  • Share driver check between GPU and GHOST (commit) - (Jeroen Bakker)
  • Hide devices of failing drivers (commit) - (Jeroen Bakker)
  • Unhide from behind developer extras (commit ) - (Alaska)
  • Pre-phase for initial uploading resources (commit ) - (Jeroen Bakker)

Weekly Reports

Summary
9 Likes

16 December 2024
Notes for weekly communication of ongoing projects and modules.

Announcements

Modules & Projects

Overrides Workshop

The write-up for the overrides workshop is up . The workshop happened between the 3-4th of December 2024 at Blender HQ.

The focus for the workshop was on how to make them easier to use and manage for productions.

New Features and Changes

This is a selection of changes that happened over the last week. For a full overview including fixes, code only changes and more visit projects.blender.org .

3D Text

  • Only use fallback characters for the default font (commit) - (Harley Acheson)
  • Use placeholder glyph, resolve error handling inconsistencies (commit) - (Campbell Barton)

Anim

  • When creating action slot by keying, name it after last-used slot (commit) - (Sybren A. Stüvel)
  • Make Slot::users_remove() gracefully deal with duplicate users(commit) - (Sybren A. Stüvel)
  • Explicity handle node trees when rebuilding action slot user cache (commit) - (Sybren A. Stüvel)

BLI

  • Allow extending a Vector with another Vector with move-semantics (commit) - (Guillermo Venegas)
  • Simplify creating the union of multiple index masks (commit) - (Jacques Lucke)

Compositor

  • Optimize constant size Bokeh Blur node (commit) - (Omar Emara)
  • Optimize Distance Dilate node (commit) - (Omar Emara)
  • Always use the new CPU compositor (commit) - (Aras Pranckevicius)
  • Optimize Dilate Distance Threshold node (commit) - (Omar Emara)

Curves

  • Remove usage of IndexMask (commit) - (Laurynas Duburas)

Cycles

  • Make OSL shader compilation threadsafe and multi-threaded (commit) - (Lukas Stockner)
  • Support Mie Scattering with particle size smaller than 5um (commit) - (Weizhen Huang)

EEVEE

  • Make sampling.reset() and sampling.is_reset() viewport only (commit) - (Clément Foucault)

GPU

  • Ensure viewport does not use uninitialized images (#119685 and others) (commit) - (Aras Pranckevicius)

Geometry Nodes

  • Propagate vertex groups in join / realize instances nodes (commit) - (Hans Goudey)

Grease Pencil

  • Add layer channel color property (commit) - (Pratik Borhade)
  • Add lasso/box erase operators in draw mode (commit) - (Falk David)

Installer

  • Windows: Various tweaks and updates to the installer (commit) - (Ray Molenkamp)

Materials

  • Take object and geometry material slot counts into account (commit ) - (Jacques Lucke)

Nodes

  • Remove labels and use placeholder in Attribute Node (commit) - (quackarooni)
  • Simplify location storage, remove hidden offfsets (commit) - (Hans Goudey)

PyGPU

  • Rename ‘program’ to ‘shader’ in documentation for ‘GPUBatch.draw’ (commit) - (Germano Cavalcante)
  • Show error for unsupported POLYLINE shader configurations (commit) - (Germano Cavalcante)

Sculpt

  • Simplify sphere mesh filter code (commit) - (Iliya Katueshenock)

Transform

  • Crazyspace support in edit mode for Curves and Grease Pencil (commit ) - (Lukas Tönne)

UI

  • Allow passing named integers via context (commit) - (Julian Eisel)
  • Use consistent naming for mode toggle on undo history (commit) - (Gilberto.R)
  • Outliner: Support ctrl/shift operations for exclude collection (commit) - (Pratik Borhade)

USD

  • Add new get_prim_map API callable from python on_import hooks (commit) - (Charles Flèche)
  • on_material_import() and texture IO hooks (commit) - (Michael Kowalski)

VSE

  • Improve retiming code readability (commit) - (Richard Antalik)
  • Optimize and cleanup modifiers (commit) - (Aras Pranckevicius)

Vulkan

  • Updated NVIDIA/Linux driver support (commit) - (Jeroen Bakker)
  • Add support for ReBAR (commit ) - (Jeroen Bakker)

Workbench

  • Separate depth of field shaders (commit ) - (Jeroen Bakker)

Weekly Reports

Summary
7 Likes