Developer Meeting Notes

More filters are nice. I sure hope we will finally get that texture filter someday. Still a bit bummed that it was never implemented because of the desire to rework the texture system. Ahem. Eventually™. :wink:

5 Likes

26 August 2024
Notes for weekly communication of ongoing projects and modules.

Welcomes

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 .

Grease Pencil

  • Allow 3D cursor to snap to grease pencil geometry (commit ) (Falk David)
  • Grease Pencil V3
    • Segment selection support (commit) (Lukas Tönne)
    • Soft mode for the Eraser tool (commit ) (Amelie Fondevilla)
    • Canvas overlay (commit ) (Casey Bianco-Davis)
    • Sculpt mode overlay. (commit ) (Casey Bianco-Davis)
    • Import and export for SVG and PDF (commit ) (Lukas Tönne)
    • Only select visible bezier handles for Circle, Lasso and Box selection tools. (commit ) (casey bianco-davis)

User Interface

  • Improvement to screen area options menu invoke area join (commit ) (Harley Acheson)
  • Editor docking
    • Add snapping to status bar entries (commit ) (Harley Acheson)
    • Improvements from menu item or shortcut (commit) (Harley Acheson)
    • Add snapping (commit ) (Harley Acheson)
    • Add interactive resizing (commit) (Harley Acheson)
  • Add frequency unit (commit ) (Lleu Yang)
  • Disable “Render Active Object” for previews of incompatible object types (commit) (Julian Eisel)
  • Use the gizmo-group type name for undo steps (commit) (Campbell Barton)

Animation

  • Add channel groups to layered actions (commit ) (Nathan Vegdahl)
  • UI template for Action selectors (commit) (Christoph Lendenfeld)

Video Sequence Editor

  • Set “box select” default tool for preview and show toolbars (commit) (John Kiril Swenson)
  • Ability to connect and disconnect strips in the VSE (commit ) (John Kiril Swenson)

Sculpt

  • Remove duplicate BVH tree positions storage (commit ) (Hans Goudey)
  • Simplify BVH node flag initialization, avoid normals update (commit ) (Hans Goudey)
  • Specialize normal and topology mask expand operations (commit ) (Hans Goudey)
  • Make BMesh BVH tree build similar to mesh/grids (commit ) (Hans Goudey)

Compositor

  • New CPU compositor
    • Add Composite node (commit ) (Omar Emara)
    • Implement type conversion (commit ) (Omar Emara)
    • Support Image node (commit ) (Omar Emara)

Core

  • Improve volume file cache and unloading (commit ) (Jacques Lucke)
  • Speedups, fixes and cleanups to various image scaling functions (commit) (Aras Pranckevicius)

Vulkan

  • Resource Pools (commit ) (Jeroen Bakker)
  • Ensure rendering ends when deleting attached framebuffer (commit) (Jeroen Bakker)
  • Occlusion Queries (commit ) (Jeroen Bakker)

Overlay-Next

  • Particles support (commit ) (Clément Foucault)

Weekly Reports

Summary
8 Likes
2 Likes

Does anyone know what the plans for Overlay-Next include? I’ve read about it recently and, like with EEVEE-Next, I asume it’s a project to revamp/improve/rewrite the Overlays. Is there a blog or some devtalk thread talking about it? I couldn’t find anything other than a few PRs at gitea.

I think I’ve read somewhere it’s a rewrite intended to make the overlay renderengine fit for changes to the draw manager (which either already took place or are planned).
In other words, I suspect its really mostly (if not exclusively) a refactor due to backend-related reasons, I very much doubt there are any user-facing changes planned.

greetings, Kologe

edit:

Update Overlay engine to leverage the new capabilities of the new draw manager.

The motivations for this are:

  • Remove most of the globals access, which will unlock parallel rendering for EEVEE in the future.
  • Improve selection speed and consistency (see #102177).
  • Reduce complexity to ease other projects (e.g. Grease Pencil).
  • Port most (if not all) geometry shader used by overlays to the primitive expansion API to avoid shader duplication for Metal.

source

7 Likes

2 September 2024 (Upcoming)
Notes for weekly communication of ongoing projects and modules.

Modules & Projects

New Features and Changes

Animation

  • New/Un-assign Slot operators (commit ) (Sybren A. Stüvel)
  • Add Action selectors to Material + Camera properties (commit ) (Sybren A. Stüvel)
  • F-Curve icons, return std::nullopt when RNA path cannot be resolved (commit ) (Sybren A. Stüvel)
  • Find Action Slot users on embedded IDs (commit) (Sybren A. Stüvel)
  • Add operator for creating a new Action Slot to the dope sheet header (commit ) (Sybren A. Stüvel)
  • Action editor, only show Action selector if there is an active object (commit ) (Sybren A. Stüvel)
  • Always allow unassigning the action slot (commit ) (Sybren A. Stüvel)

User Interface

  • Rename Asset Browser “All” to “All Libraries” (commit ) (Pablo Vazquez)
  • Detailed Large File & Folder Icons (commit ) (Harley Acheson)
  • Rename Clip Editor Dopesheet to Dope Sheet (commit ) (Pablo Vazquez)
  • Show Splash Version Text in White (commit ) (Harley Acheson)
  • clarify “show faces” description (commit ) (Campbell Barton)
  • Hide Timeline Scrollbars When Very Short (commit ) (Harley Acheson)
  • Show texture properties tab when fluid modifier uses texture (commit ) (Julian Eisel)

Sculpt

  • Split BVH nodes structs by geometry type (commit ) (Hans Goudey)
  • Reduce size of undo node struct (commit) (Hans Goudey)
  • Avoid mutable retrieval of positions when building BVH (commit) (Hans Goudey)
  • Specialize some pose fake neighbors calculation (commit ) (Hans Goudey)
  • Write brush types to brush asset metadata (commit ) (Julian Eisel)

Geometry Nodes

  • New Hash Value node (commit ) (Charlie Jolly)
  • Support custom warnings in node groups (commit ) (Jacques Lucke)
  • Support customizing warning propagation (commit ) (Jacques Lucke)
  • Use different icons for warning and error messages (commit ) (Jacques Lucke)

Core

  • Optimize constructing IndexMask from bits and bools (commit ) (Jacques Lucke)

Video Sequence Editor

  • Faster and more consistent thumbnails (commit ) (Aras Pranckevicius)

Compositor

  • Add button to add a new texture in the Texture node (commit ) (Philipp Oeser)

Materials

  • Add Metallic BSDF Node (commit ) (Alaska)

glTF IO

  • Fix error message if hook failed (commit) (Julien Duroure)
  • Children type check refactoring (commit) (Julien Duroure)
  • Add logging level control for export (commit) (Julien Duroure)
  • Enable exporting joint leaf at tail of leaf bones (commit) (Julien Duroure)
  • Set udim material names with tile number (commit) (Julien Duroure)
  • Avoid double export (commit) (Julien Duroure)
  • Use wait cursor instead of empty % cursor (commit ) (Julien Duroure)
  • Manage Quaternion and Matrix attribute types for custom attributes (commit) (Julien Duroure)

Overlay Next

  • In-Front support (commit ) (Clément Foucault)
  • Add Alt+B clipping support (commit ) (Clément FOUCAULT)
  • Image (commit ) (Laurynas Duburas)
  • Fluid (commit ) (Clément Foucault)
  • Xray Fade (commit ) (Clément Foucault)
  • Edit Curves (commit ) (Clément FOUCAULT)

Vulkan

  • Initial support for multiple windows (commit ) (Jeroen Bakker)

Weekly Reports

Summary

Google Summer of Code - Final reports

Summary
9 Likes

9 September 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

  • New/Un-assign Slot operators (commit ) - (Sybren A. Stüvel)
  • Action Slot icon (commit ) - (Sybren A. Stüvel)
  • Add Action+Slot selectors to Property editor tabs (commit ) - (Sybren A. Stüvel)
  • Add Action (commit) - (Sybren A. Stüvel)
  • Add slot deletion to Action editor (commit) - (Sybren A. Stüvel)
  • Add group name support to back-compat Action.fcurves.new() (commit) - (Sybren A. Stüvel)
  • Add backward-compatible RNA API for Action.groups (commit) - (Sybren A. Stüvel)
  • Implement channel grouping/moving ops for layered actions (commit) - (Nathan Vegdahl)
  • Convert FCurve groups from legacy to layered (commit) - (Christoph Lendenfeld)
  • Gray out disconnected action slots in channel list (commit ) - (Nathan Vegdahl)

Clip Editor

  • Add clip.delete_track shortcut in dopesheet view (commit ) - (YimingWu)

Color management

  • Skip no-op colorspace transforms for float images (mostly affects VSE) (commit ) - (Aras Pranckevicius)
  • Optimize OCIO predivide processing (commit ) - (Aras Pranckevicius)

Compositor

  • UI:
    • Use hide icon for preview (commit ) - (Habib Gahbiche)
    • Remove preview for viewer and composite nodes (commit ) - (Habib Gahbiche)

Draw

  • Batch shader compilation for image render (commit ) - (Miguel Pozo)

EEVEE

  • Enable translation of screen messages (commit ) - (Miguel Pozo)

FFmpeg

  • Simplify code for determining video frame count (commit ) - (Richard Antalik)

GHOST/Wayland

  • Update the cursor scale even when hidden (commit ) - (Campbell Barton)

GPv3

  • Wrong radius property in draw context menu (commit) - (Pratik Borhade)
  • Switch to properties tab when stroke icon clicked in outliner (commit) - (Pratik Borhade)
  • Implement Wireframe batch (commit ) - (Clément Foucault)
  • Smooth active vertex group operator (commit) - (Sietse Brouwer)

Geometry

  • Generalize attribute filters beyond just for anonymous attributes (commit ) - (Jacques Lucke)

Geometry Nodes

  • Expose node warnings on modifier in Python API (commit ) - (Jacques Lucke)

ImBuf

  • Slightly faster byte->float image conversion (commit ) - (Aras Pranckevicius)

Modifiers

  • Add custom attribute weight support to bevel modifier (commit ) - (Mike93)

Overlay-Next

  • In-Front support (commit ) - (Clément Foucault)
  • Armature (commit ) - (Clément Foucault)
  • Add selection mode to relations (commit ) - (Laurynas Duburas)
  • Edit-Mesh measurements (commit ) - (Laurynas Duburas)
  • Prepass:
    • Curves, Point Cloud and Particle (commit ) - (Clément FOUCAULT)
    • Grease Pencil (commit ) - (Clément FOUCAULT)
    • Conservative raster (commit ) - (Clément FOUCAULT)

Preferences

  • GPU backend selection (commit ) - (Jeroen Bakker)

PyAPI

  • Enable draco when building blender as a python module (commit) - (buildxyz-git)

Sculpt

  • Restructure PBVH drawing to avoid overhead (commit ) - (Hans Goudey)
  • Push multiple undo nodes at once for some operations (commit ) - (Hans Goudey)
  • Ignore sharp faces when building BVH tree (commit ) - (Hans Goudey)
  • Parallelize bounds calculation during BVH build (commit ) - (Hans Goudey)
  • Finalize mesh leaf nodes in a separate loop (commit ) - (Hans Goudey)
  • Store faces instead of triangles in BVH (commit ) - (Hans Goudey)
  • Improve mesh BVH build time by storing less temporary data (commit ) - (Hans Goudey)

Triaging / Bug reports

  • Add a script to collect system information when Blender isn’t opening (commit) - (Alaska)

UI

  • Expose Proportional edit in image editor mask mode (commit ) - (Pratik Borhade)
  • Clear Recent Cleanup Option (commit ) - (Harley Acheson)
  • Docking Drag Mouse Cursor (commit ) - (Harley Acheson)
  • Hand Cursors (commit ) - (Harley Acheson)
  • Dialog Drag Cursors (commit ) - (Harley Acheson)
  • Add SVG parent group to two large icons (commit) - (Harley Acheson)
  • Fix viewport selection icons (commit ) - (Dalai Felinto)

VSE

  • Faster timeline thumbnail drawing (commit ) - (Aras Pranckevicius)
  • Optimize the Color Balance modifier (commit ) - (Aras Pranckevicius)
  • Faster processing of alpha-over strip at the bottom of strip stack (commit ) - (Aras Pranckevicius)

Windows

  • Disable shader draw parameter support on certain Qualcomm GPUs (commit) - (Anthony Roberts)

Weekly Reports

Summary
8 Likes

image

It finally landed, nice.

To bad that attribute editing and visualization in edit mode is still in early stages, but at least addons will benefit from that functionality greatly.

13 Likes

It has been in ‘early stages’ for over a year now, which means it is probably just not a priority for the developers at the moment with all of the other big todo items (unless someone wants to submit a patch that expands it).

At the least, we have something more robust than vertex groups now, which should help with procedural beveling operations until Howard finds the time to finish the Bevel node.

3 Likes

Could you explain to me how it works please?

Untill now if You wanted to have weighted bevel You could use “Bevel weight” attribute on edges (or vertices).


But thats not ideal, because You might want to have two bevel modifiers in modifier stack, but they share single weight value. Or You could theoretically use vertex group, but they are, eh… vertex groups and thous have its flaws of not being able to mark specific edges.


And now You can just specify which attribute is used for weight.
2024.09.11.01.28.07_blender_fjjblmsZ2k


In this example, im using “Crease edge” value because it have edge visualization in overlay, but You can just use any attribute that You mark or generate:

16 Likes

This also opens up bevel control in Geonodes :+1:

9 Likes

Finally a change to this damnit, this is the one particular problem I hated from bevel mod, it couldn’t just bevel things right from the multiple bevel weights, now with the attributes makes it possible… However that doesn’t remove the original problem with the bevel weights not working with intersecting bevels with the modifier, therefore this still needs to be worked when the bevel mod, mesh bevel and bevel weights is rewritten in the future.

2 Likes

Of course I always have those problems when modeling with bevel, I always try to model as low poly as possible and use modifiers like bevel and subdivision to have models that are easy to handle, but with the new method it will be easier, the only thing I would like is for it to have a better interface, for example putting the vertex group interface where you have several vertex groups and each one has its own weight.

16 September 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

  • Clarify ‘disabled’ message for bone collection operations (commit) - (Sybren A. Stüvel)
  • Add RNA function Slot.debug_log_users() (commit) - (Sybren A. Stüvel)
  • Add Action Slot assignment to NLA strip (commit ) - (Sybren A. Stüvel)
  • Make it possible to enter/exit NLA tweak mode on slotted Actions (commit ) - (Sybren A. Stüvel)
  • Add NLA evaluation of slotted Actions (commit ) - (Sybren A. Stüvel)
  • Correctly auto-sync NLA strip length for slotted Action (commit) - (Sybren A. Stüvel)
  • Disallow switching action slots when using NLA Tweak Mode (commit) - (Sybren A. Stüvel)
  • Reuse action between related data (commit) - (Christoph Lendenfeld)
  • Avoid division by zero in Action constraint (commit) - (Sybren A. Stüvel)

Core

  • expose --quiet / -q command line argument (commit ) - (Campbell Barton)
  • Remove sdlew/WITH_SDL_DYNLOAD & disable SDL by default (commit) - (Campbell Barton)

Cycles

  • Simplify fmodf(c, 1.0f) to fractf(c) in hsv node (commit ) - (Xavier Hallade)

GPU

  • Add DebugScope class (commit) - (Clément Foucault)

GPv3

  • Implement Grease Pencil to mesh conversion (commit ) - (YimingWu)
  • Vertex Paint Mode (commit) - (Falk David)
  • Change “use_locked_material” option (commit) - (Falk David)
  • Parent armature with empty weights (commit) - (Falk David)
  • Apply Transform operator (commit) - (casey bianco-davis)
  • Create weights on draw for new strokes. (commit) - (casey bianco-davis)
  • Vertex Paint operators (commit) - (Falk David)
  • Rename Cutter tool to Trim (commit) - (casey bianco-davis)
  • Operators for Normalize active and Normalize all vertex groups (commit) - (Sietse Brouwer)
  • Add support for transform object origin. (commit) - (casey bianco-davis)
  • Vertex paint context menu (commit) - (Pratik Borhade)
  • Properly support brushes with draw mode primitive tools (commit) - (Julian Eisel)

Geometry Nodes

  • Speedup joining many geometries (commit) - (Jacques Lucke)
  • Improve debug graph for repeat zone (commit) - (Jacques Lucke)
  • Support accessing repeat zone lazy-function graph from Python (commit) - (Jacques Lucke)
  • Improve node timings accuracy (commit) - (Jacques Lucke)

ImBuf

  • Avoid redundant memory clears when loading EXR images (commit ) - (Aras Pranckevicius)

Keymap

  • Map Back/Next mouse buttons in File Browser (commit) - (Pablo Vazquez)

Nodes

  • Add support for line separators in nodes (commit ) - (Jacques Lucke)

Overlay-Next

  • Sculpt (commit ) - (Clément FOUCAULT)
  • Fade (commit ) - (Laurynas Duburas)
  • Grid 2D (commit) - (Laurynas Duburas)
  • Image Space (commit) - (Clément Foucault)
  • Fix compilation error after merge (commit) - (Clément Foucault)
  • Add DebugScope for selection and drawing (commit) - (Clément Foucault)
  • Fix broken shaders (commit) - (Clément Foucault)
  • UV (commit ) - (Clément Foucault)
  • Paint Overlay (commit) - (Clément FOUCAULT)
  • Grease Pencil Edit Mode (commit) - (Clément FOUCAULT)
  • Particle Edit (commit) - (Clément FOUCAULT)
  • Edit Mesh (commit) - (Clément FOUCAULT)
  • Mode Transfer (commit) - (Clément FOUCAULT)
  • Edit text (commit) - (Laurynas Duburas)
  • Origin (commit) - (Laurynas Duburas)
  • Use unique handle per object (commit) - (Clément FOUCAULT)
  • Grid added to ShapeCache (commit) - (Laurynas Duburas)
  • Motion Path (commit ) - (Clément Foucault)
  • Xray Outline (commit ) - (Clément Foucault)

PlayAnim

  • Don’t set the title to the filename on WIN32 (commit) - (Campbell Barton)

Sculpt

  • Simplify and optimize BVH build node partitioning (commit ) - (Hans Goudey)
  • Face corner indexed mesh GPU data extraction (commit) - (Hans Goudey)
  • Parallelize max face size reduction during grid BVH build (commit) - (Hans Goudey)
  • Make multires BVH build similar to mesh (commit) - (Hans Goudey)
  • Store multires grids data in separate arrays (commit ) - (Hans Goudey)
  • Avoid processing hidden nodes for drawing (commit) - (Hans Goudey)
  • Avoid rebuilding draw vertex buffers for visibility changes (commit) - (Hans Goudey)
  • Replace automasking sculpt attribute API usage (commit) - (Hans Goudey)
  • Update BVH node bounds in deformation loops (commit) - (Hans Goudey)
  • Use bit vector for bounds dirty tags (commit) - (Hans Goudey)
  • Use separate bit vector for BVH node normals dirty tags (commit) - (Hans Goudey)
  • Only change position draw buffers on PBVH deformation (commit) - (Hans Goudey)
  • Only re-upload face set data when changed (commit) - (Hans Goudey)
  • Only re-upload face color attribute data (commit) - (Hans Goudey)
  • Update node mask status eagerly (commit) - (Hans Goudey)
  • Only re-upload mask attribute data (commit) - (Hans Goudey)

Text Editor

  • Enable find “Wrap Around” by default (commit ) - (Pablo Vazquez)

Tools

  • Check high priority module bugs against their IDs (commit) - (Alaska)

UI

  • Mac Cursors While Docking (commit ) - (Harley Acheson)
  • Do Not Allow Docking into Temp Windows (commit ) - (Harley Acheson)
  • Blender Logo Fitting in Bounds (commit ) - (Harley Acheson)
  • Add SVG Parent Group to Two More Icons (commit) - (Harley Acheson)
  • Expose “Frame Selected” in image editor mask mode (commit) - (Philipp Oeser)
  • Status Bar During Non-Operator UI Interaction (commit) - (Harley Acheson)
  • Don’t Show Drag Cursors on Non-Floating Menus (commit) - (Harley Acheson)
  • Compositor: Do not expand backdrop channels (commit) - (Pablo Vazquez)
  • Compositor: Show Parent button when available (commit) - (Pablo Vazquez)
  • Add missing ellipsis to File menu items (commit) - (Pablo Vazquez)
  • Remove duplicate icons on menus (commit) - (Pablo Vazquez)
  • speedup drawing large tree views (commit) - (Jacques Lucke)
  • Add missing new/open icons in menus (commit) - (Pablo Vazquez)
  • Show material link type icon in dropdown (commit) - (Pablo Vazquez)
  • Text Editor (commit) - (Pablo Vazquez)
  • Increase Width of ID Search Lists (commit) - (Harley Acheson)
  • Small Corrections to Text Caret Placement (commit) - (Harley Acheson)

VSE

  • Optimize away some pointless image copies when applying modifiers (commit ) - (Aras Pranckevicius)
  • Draw thumbnails in timeline by default (commit) - (Aras Pranckevicius)
  • Multi-thread Saturation and Multiply strip color controls (commit) - (Aras Pranckevicius)

Viewport

  • Use the smooth-view preference when refreshing (commit) - (Campbell Barton)

Vulkan

  • Incorrect selection in edit mode (commit ) - (Jeroen Bakker)
  • Blendfile thumbnail generation (commit) - (Jeroen Bakker)

WM

  • Suppress “Info” prints from reports when G.quiet is enabled (commit) - (Campbell Barton)
  • Improve thumbnail scaling performance (debug builds) (commit) - (Campbell Barton)

Weekly Reports

Summary
9 Likes

Talk dirty to us, @HooglyBoogly ! :stuck_out_tongue_winking_eye:

But seriously, an impressive amount of work you and your fellow devs are realizing. :muscle:

5 Likes