Developer Meeting Notes

I wonder why Blender needs a “security issues policy” :thinking: it must be related to that one thread on devtalk about the guy who believed Blender destroyed his company’s servers

3 Likes

Probably also preparing for this: https://code.blender.org/2021/10/blender-3-x-roadmap/#blender-and-internet

Optionally, however, Blender should be able to connect to the web for additional features to work. For example: signaling a user of new releases, updating add-ons, browsing asset repositories, sharing data with others or set-up collaborative environments.

A dedicated website and server on blender.org will be set up for proof of concepts and rolling out online features. By principle and by design only free & open services for everyone will be added here (only requiring an account to login). That means that possible commercial add-ons (like for storage, versioning, libraries) will need to be provided by external and independent vendors. The module can provide APIs for it, and help keep this safe and stable.

12 Likes

When you have plugins getting data from internet like BlenderKit for example it is not farfetched that some file can have an executable embedded to create havock.

3 Likes

12 September 2022

Notes for weekly communication of ongoing projects and modules.

Announcements

Google Summer of Code

Modules & Projects

New Features and Changes

UV Editor

  • Add new operator for randomizing UV transforms (commit ) (Chris Blackbourn)
  • Support uv seams when computing uv islands (commit ) (Chris Blackbourn)

Grease Pencil

Realtime Compositor

  • Allow inputs to skip realization (commit ) (Omar Emara)
  • Implement bokeh blur node (commit) (Omar Emara)
  • Implement scale node (commit) (Omar Emara)
  • Implement blur node (commit ) (Omar Emara)
  • Implement pixelate node (commit ) (Omar Emara)

User Interface

  • Small adjustments to event icons (commit ) (Harley Acheson)
  • Outliner
    • Hide parts of context menu depending on selection (commit , commit) (Julian Eisel)
    • Hide search options for library overrides hierarchies view (commit, commit) (Julian Eisel)
    • Hide ID type filter for library overrides (commit) (Julian Eisel)
  • Console
    • Support page up/down and home keys for scrolling (commit) (Julian Eisel)
  • Translations
    • Translate/extract keymap preferences (commit ) (Damien Picard)
    • Translate untitled file names (commit) (Damien Picard)

Mesh

  • Performance improvements
    • Significantly optimize tangent calculation (commit ) (Lukas Stockner)
    • Avoid quadratic subdivision runtime for loose edges (commit ) (Hans Goudey)
    • Avoid saving redundant generic material index attribute (commit ) (Hans Goudey)
  • Respect locked groups when normalizing vertex groups (commit ) (Nate Rupsis, Campbell Barton)
  • Move bevel weight out of mesh structs (commit ) (Hans Goudey)
  • Remove redundant custom data pointers (commit ) (Hans Goudey)

Python API

  • Various fixes & improvements for Blender as a Python module on macOS & WIN32 (task ) (Campbell Barton)
  • GPU: Expose ‘GPU_SHADER_3D_IMAGE_COLOR’ (commit ) (Germano Cavalcante)

Weekly Reports

Summary
6 Likes

Unfortunately this patch is reverted. https://developer.blender.org/rB109cc14dba98db2b10688da8737b528877464d2c

Revert hidden object optimization in depsgraph

The internal state tracking is not fully suited for such kind
of optimization yet.

It is probably not that much work to make them work, but the
issue caused by the changes is serious enough for the studio
so it feels better to revert changes for now and have a closer
look into remaining issues without pressure.

oh no so sad :expressionless::disappointed_relieved::persevere:

You can still download today’s master where FPS improvement is included.

…and deal with issues that this patch causes

5 Likes

Such is life on the bleeding edge.

11 Likes

Recent Animation/Rigging module meeting talked about the founding principles for the upcoming Animation Workshop (October 24-26).

Here are the principles defined so far (not final): https://docs.google.com/document/d/1qjD1MhXAFnnySSzey9DW-vumhtNavUxqCbBM9P30FzQ

Animation Workshop: the Principles

Interactivity & Performance are Creative Freedom

“Things should be crazy fast” – Jason Schleifer, 2022.

  • Intuitive & Predictable: understandable tools allow you to work faster.
  • Multiple views on Rigs: rig profiler, “rig explainer”, bone picker.

Change*) Should be Facilitated

Work always evolves, and Blender should support that.

  • Ad-hoc extensions to the rig, without going back to the original rig file.
  • Changes to the rig without breaking already-animated shots.

*) From the perspective of riggers/artists.

Empower Animators to Keep Animating

  • Atomic tools: simple tools that can be combined for greater power.
  • Allow iterating on work, for example after getting feedback from the director.
  • Tool placement & customisation: one place to go, no hunting for functionality.
  • Power to the riggers to enable them to make rigs for their animators’ workflow.

Contextual Interaction

The context of operations, i.e. someone’s current workflow, should be used to define what those operations do.

  • Specific tools for specific workflows, for example separate IK and FK manipulators, instead of having each bone chain in triplets (deform chain, IK control chain, FK control chain).
  • Time Selection to allow tools to work across frames.
  • Bone roles so Blender knows deform from control, or “important” from “small detail”.
12 Likes

This also shows Blender have QA issues. It should have been detected by an automated daily test.

An outstanding analysis and deduction based on in-depth anecdotal evidence of Blender’s development processes and interpersonal team work ethics.

Impressive. I salute you. :wink:

6 Likes

Denial is a type of defense mechanism that involves ignoring the reality of a situation to avoid anxiety. Defense mechanisms are strategies that people use to cope with distressing feelings. In the case of denial, it can involve not acknowledging reality or denying the consequences of that reality.

:yawning_face:
Grow up… both of you…

Every greater project does have issues… ask even profesional Z-brush users about the GUI… even (older) 3DSmax had the problem of lenghty sidebar scrolling problems (and that was before the mouse wheel)…

Also automated tests has to be mantained but anyway:

What do you think is the issue here?

Being unprecise about what crazy fast is? … maybe they are just a bit sarcastic because users always want it better and faster (especially on open source projects it seems… still… there has to be bills payed… )

1 Like

Wow ! That looks like a future brainstorming about modifying basics of animation in Blender.

Riggers and animators will have to be really watchful about design and progression of this project.
Lacks or oversights could harm a lot their workflow.

There will be a lot of excitement around proposed new tools.
But it will be fundamental that the whole picture keeps coherence.

3 Likes

with Jason Schleifer on the team even if only chipping in his 2cents occasionally i’m sure there is nothing to worry about!

Im really loving rigging in unreal 5 at the moment. it uses a node graph so everything is visible on one page… and it splits the process into setup event (that can snap bones/controls around), forwards solve where controls drive the deform bones and reverse solve where deform bones can move the control bones (great for taking mocap data to drive an arbitrary rig and then layer in fixes over the top in say the NLE.)

I like rigify and all, but having to rely on python scripting for ik fk switching, reverse solve and extending existing rigs isn’t very friendly so the notes for the workshop are music to my ears!

1 Like

Currently, workshop did not happen, yet.

But I have enough experience following Blender development to know that ambitions and design are one thing, and realization is another one.

Developers may encounter difficulties to realize what was asked.
Tools can derivate from what was expected.
And workflow can be implemented piece by piece, making it unsatisfying and broken, during a certain period.
Often, users are complaining, when it is too late, after official release.

Currently, there is nothing to complain about. Exposed ambitions are satisfying.
We’ll see, in October, if we will be as satisfied by design.
But, I am sure that, no matter how good is design ; people will complain, at the end of process.
If people are not watchful about changes about basics of their workflow, they could be severely impacted, by a neglected problem.

Ambition exposed is about creating a lot more sophistication.
That could potentially mean a lost of versatility of armature.

2 Likes

Announcements

Modules & Projects

New Features and Changes

EEVEE

  • Add support for Nishita sky texture (commit ) (Lukas Stockner)
  • EEVEE-Next
    • Add support for cryptomatte render passes (commit ) (Jeroen Bakker)

Animation

  • NLA editor
    • Draw track background based on strip’s extrapolation type (commit ) (Nate Rupsis)
    • Remove Edited Action tab from NLA panel (commit ) (Nate Rupsis)

Miscellaneous

  • Performance
    • Sync view layers and scene data lazily (commit , commit ) (Monique Dewanchand)
    • Exit early when resizing material slots. (commit ) (Erik Abrahamsson)
    • Improved thumbnailing of WebP Images (commit ) (Harley Acheson)
    • Revert hidden object optimization in depsgraph (commit ) (Sergey Sharybin)

User Interface

  • Property editor
    • Add a Custom Properties panel to the View Layer tab of properties. (commit) (Alexander Gavrilov)
  • UV editor
    • Rename “(UV) Snap To Pixels” to “(UV) Round To Pixels” (commit ) (Chris Blackbourn)
  • Node editor
    • Add Mix Node to color section of add node menu (commit ) (Charlie Jolly)

Geometry Nodes

  • New Face Set Boundaries node (commit ) (Wannes Malfait)
  • Performance
    • New evaluation system (commit ) (Jacques Lucke)
    • Avoid unnecessary initialization when resizing data arrays (commit ) (Hans Goudey)
    • Avoid allocating strings in evaluator logging (commit) (Jacques Lucke)
    • Curves
      • Port the trim curve node to the new data-block (commit ) (Mattias Fredriksson)
      • Port Curve to Points node to the new data-block (commit ) (Hans Goudey)
  • Validate some builtin attributes for untrusted inputs (commit , commit ) (Hans Goudey)

Sculpt

  • Performance
    • Improve performance when initializing face sets (commit ) (Hans Goudey)
    • Separate hide status from face sets, use generic attribute (commit ) (Hans Goudey)
    • Make storing mask and face set layers optional (commit ) (Hans Goudey)
    • Curves Sculpt Mode
      • Improve sculpting performance by reducing allocations (commit ) (Hans Goudey)
  • Respect hiding when creating face sets from loose parts (commit) (Hans Goudey)

Grease Pencil

  • Improve stroke fill operator with better stroke extension methods (commit) (Dave Pagurek)
  • Add frame number to Trace operator (commit) (Antonio Vazquez)
  • Line Art
    • Add Force intersection option (commit ) (Yiming Wu)

Import/Export

  • OBJ: Implement support for PBR .mtl extensions (commit ) (Aras Pranckevicius)
  • FBX: Support all 4 combinations of color attributes, and an option to pick between Linear and sRGB color spaces (commit ) (Aras Pranckevicius)

Python API

  • Add color_srgb property to color attribute types (commit) (Aras Pranckevicius)
  • Performance
    • Avoid quadratic cost for retrieving curves/point cloud positions and mesh normals (commit , commit ) (Hans Goudey)

Weekly Reports

Summary
9 Likes

In my tests of exporting 8M vertex models to FBX, this 18 seconds of export time compared to Python loop (full export times: 103sec → 85sec – the total export times are not great, but the slowness is completely elsewhere, unrelated to color attributes).

so besides FBX improvements it got also optimisations

offtopic

ffs hire that guy (╯▔皿▔)╯
its funny that beside great optimization patches, he’s also Titanium fund supporter.

my unoptimistic guess is that he might be unhireable by BF (eg. due to NDA, etc)

6 Likes

The dev grant developer who’s responsible for many of the recent UV patches. According to his weekly reports, he’s been doing research for updating UV packing for last few weeks.

Packing research, explicit margin and using convex hull, speed improvements for large meshes.

Specify margin in UV/pixel units exactly (Fast!)

8 Likes