Developer Meeting Notes

Patch to support Hydra with Cycles based on Tangent Studios Hydra implementation. (Patrick)

Pretty great news from the latest Render Meeting Notes. The work done on Cycles at Tangent Animation won’t go to waste.

14 Likes

Looking forward to the addition of MNEE

https://developer.blender.org/D13533

6 Likes

Use a map to speed up search for UI block names. Time to redraw the node editor was decreased from around 75-120ms to 40-70ms in a tree with many Geometry Nodes.

Remember, the cause of some performance issues are not at all obvious. Sometimes the interface lags because there is a massive amount of geometry to calculate, and sometimes it’s because Blender is trying to remember the names of the nodes because it never bothered to write them down. :smiley:

2 Likes

Yeap.
Luckly we have now more attention to performance in general.
And even we have upcoming first kinda profiler in blender. (Evaluation time stats for geometry nodes - pic rel above nodes an bottom left corner of frames)

2 Likes

Notes for weekly communication of ongoing projects and modules.

Welcomes

  • Animation & Rigging module has two new members: Brad Clark and Orestis Konstantinidis (@Orestiskon).

Announcements

  • Cycles now has a Metal GPU backend , contributed by Apple. Metal GPU rendering is currently supported on Apple M1 computers running macOS 12.0 (Monterey).

Modules & Projects

Geometry Nodes

Animation & Rigging

New Features and Changes

Geometry Nodes

  • New nodes for basic access of mesh topology (Johnny Matthews)
  • Geometry to Instance node to create instances from geometry directly (commit ) (Jacques Lucke)
  • Scene Time Node to replace #frame driver (commit ) (Johnny Matthews)
  • Mesh Island Node (commit ) (Johnny Matthews)
  • Performance improvements
    • Improve memory reuse in procedure executor (commit ) (Jacques Lucke)
    • Resolve performance issue with highly nested fields (commit ) (Jacques Lucke)
    • Remove unnecessary copy when replacing geometry data (commit ) (Hans Goudey)

Render/Cycles

  • Sky Texture: Use Gauss-Laguerre quadrature for optical depth calculation (commit ) (Lukas Stockner)
  • Support merging images rendered with adaptive sampling (commit ) (Andrii)
  • Add Fisheye Lens Polynomial camera model (commit ) (Håkan Ardö)
  • Add hysteresis to resolution divider algorithm (commit ) (Alaska)

Weekly Reports

Summary
9 Likes

Notes for weekly communication of ongoing projects and modules.

Announcements

Modules & Projects

USD

New Features and Changes

Video Sequence Editor

  • Clamp sound strip when adding movie strip (commit ) (Richard Antalik)
  • Autokey support for image transforms in preview area (commit ) (Philipp Oeser)

User Interface

  • Support Copy To Selected for id-properties [GN modifier properties] (commit ) (Philipp Oeser)
  • Various tweaks to spelling and layout (commit , commit , commit ) (Phil Stopford, Philipp Oeser, Johannes Jakob)
  • Undo History (in the Edit menu), now expands as a sub-menu instead of being a separate popup. (commit ) (Campbell Barton)

Node Editor

  • Add a search menu when dragging links over empty space (commit ) (Hans Goudey)
  • Add vector support to Map Range node in geometry and shader nodes (commit ) (Charlie Jolly)

Geometry Nodes

  • Support instance attributes when realizing instances (commit ) (Jacques Lucke)
  • Significantly improve performance and decrease memory usage when evaluating fields (commit ) (Jacques Lucke)
  • Support point clouds in the set material node (commit ) (Hans Goudey)
  • Add a Selection input to the Attribute Statistics node (commit ) (Johnny Matthews)

Cycles

  • Add rendering support for point cloud data (commit ) (Brecht Van Lommel)
  • Enable Apple Metal GPU rendering (commit , commit ) (Brecht Van Lommel)

Library Overrides

  • Improve performance of override creation and resync by 3-4x and 1.1x (commit , commit ) (Bastien Montagne)

Metaballs

  • Optimize memory usage for meta-ball tessellation (commit ) (Campbell Barton)

Grease Pencil

  • Add randomize options to Length modifier (commit ) (Cody Winchester)
  • Add a Shrinkwrap modifier (commit ) (Antonio Vazquez)

Animation & Rigging

  • New add-on for copy-pasting world-space transform between objects and pose bones (commit ) (Sybren Stüvel).

Weekly Reports

Summary
13 Likes

:heart_eyes:

9 Likes

Yeah, I love it too. Haven’t tested it yet but hope it’ll with all the nodes and editors. Not just geo nodes.

It’ll make the workflow so much faster and fluid.

2 Likes

@AndyCuccaro:
Yes, that is pretty cool. A more direct way of adding a reroute would be even better imho. Maybe via a modifier key.
Or sth. like 'start dragging from a reroute => creates a new (connected) reroute upon mouse release.
Or STRG-click in empty space while a reroute is selected creates a (connected) new reroute where one clicked (similar to editmode if you have components selected).
Or pressing E-key while a reroute is selected ‘extrudes’ a new (connected) reroute from it.

I even contemplated on adding the last and second last mentioned functionalities to the NodeWrangler-addon, but you know, layziness and stuff. :neutral_face:

greetings, Kologe

2 Likes

wait, what, even abandoned meatballs got optimization improvement :open_mouth:?

6 Likes

Just downloading a build to try this out. Glad they finally made search to add workflow much better, since the old shift+A menu is not very fluid unless you somehow remember all the shortcuts for each operator. Search is so much more intuitive.

The next thing I’d love to see implemented is exposing functions of multi-functional nodes, such as the Math and Vector Math nodes to search directly. For example, if I want an Math: Add node, I should be able to search directly for Add, and the Math node added and set to Add automatically. Animation Nodes had this, iirc. Multiple keywords to get matches in certain cases would also be helpful for quickly locating nodes, such as ‘+’, ‘add’ and maybe ‘plus’ all returning Math: Add and Vector Math: Add nodes.

3 Likes

One thing I would like to see is an option to search for node names instead of socket names.

Right now, when you search “vector”, you get a list of nodes with an output named vector. I’d like to search “vector”, and see the vector input node, and then be presented with a list of outputs to choose from. If the node only has one output (like in this case), that output is automatically used.

Of course, some people will want it to be the default way, so this belongs in user prefs.

3 Likes

I would too be fine with the noodle connecting to the first socket. Because that’s what I generally want to do when dragging out noodles. The system can also smart and detect the data-type of the noodle (ie not connecting a float noodle to a geometry socket)

1 Like

I love all the plans, but I need ‘freeze all modifers’ button per object (keep evaluated mesh, dont evaluate mesh until unfrozen)

3 Likes

Alternatively, while the initial add node operator is active, the scroll wheel could pick the connected socket.

That would feel more “addon-y” though.

I really like this idea! You could make a proposal in blender.community and then share it into blender.chat 's channel for #geometry-nodes.

New Features and Changes

Graph Editor

  • Add a new breakdown operator for keyframes (commit ) (Christoph Lendenfeld)
video

  • Add a new blend to neighbor operator for keyframes (commit ) (Christoph Lendenfeld)
video

Alembic

  • Use panels to organize the cache file modifier and constraint UI (commit ) (Kévin Dietrich)

Mesh

  • Performance improvement: Parallelize mesh bounding box calculation (commit ) (Hans Goudey)

Node Editor

  • Remove many unnecessary updates when editing node trees (commit ) (Jacques Lucke)
  • Performance improvements
    • Improve performance of node tree structure when changing large trees (commit , commit ) (Hans Goudey)
    • Slightly improve performance when displaying large node trees (commit ) (Hans Goudey)

Geometry Nodes

  • Performance Improvement: Parallelize mesh grid primitive (commit ) (Hans Goudey)

Weekly Reports

Summary
9 Likes

hmmm wtf is that button…

1 Like

It was from an addon.

1 Like

“Add a search menu when dragging links over empty space”

How do I turn this feature off? Its actually really annoying.
Especially if I go to draw a noodle from one node to another and I accidentally miss the socket. As if missing the socket wasn’t annoying enough and having to redraw the noodle, now I also have to click out of a search popup that I didn’t intend to call