2022-04-07 Pipeline, Assets & I/O Meeting

Everyone is welcome on the Google Meet linked below every other Thursday, at 17:00 CET.

Present: Aras Pranckevičius, Bastien Montagne, Michael Kowalski, Sybren Stüvel

The meeting covers the pipeline & I/O module in a broader sense, including some topics hosted in other modules (e.g. some I/O python add-ons, or overrides and .blend file I/O from the Core module).


New C++ OBJ Importer & Exporter

Aras gives an overview of the current status of this new I/O option, and his plans for the near future:

  • The new C++ based OBJ importer (originally a GSoC 2020 project) has just landed to 3.2, labelled as experimental.
    – Work is being done on further improving performance of it, and increasing robustness (D14586).
    – It is missing some options that the old python one had.
  • The 3.1+ OBJ C++ exporter is missing one export option (“Path Mode”). It also still has a few known issues.
  • Future work:
    – Reaching feature parity with the old python I/O add-on.
    – Fixing known and newly reported issues.
    – Hopefully within a few weeks the ‘experimental’ label can be removed, maybe for the 3.2 release, or after it branches, for 3.3.

After all that, Aras would like to add “obj with vertex colors” support to both exporter & importer. Two commonly used modes are “xyzrgb” vertices and “MRGB”, look at implementing both or whichever is more important.
Adding PBR Material support for .mtl files to both exporter & importer would also be a great improvement. It has been fairly standard since 2015; basically just extending supported params/textures with things like anisotropy, clearcoat etc.


Not much to report, since most new/complex changes have been delayed, the version update of the libraries for 3.2 is going on relatively smoothly.


Most of the ‘usability’ first targets have been merged in master/3.2 last week:

  • Better visualization of overrides properties and override hierarchies in the dedicated mode in the Outliner.
  • Introduction of the ‘system overrides’, aka non-editable overrides, to reduce unintended editing (and overload of information in the Outliner) on all the data-blocks that need to be overridden inside a hierarchy, but do not need to actually be edited.

Much polishing is still needed on those though, together with gathering feedback to improve workflow and default behavior (especially regarding what should be editable or not by default when creating an override hierarchy).
More work is also needed to improve the behavior of partial overridden hierarchies.

Flamenco 3

Sybren gives a quick update on the new version of the rendering management software used by Blender Studio. The core of the system is done, most of the work is now hapening on the web interface.

Next Meeting

The next meeting will be on Thursday 21rst April, 17:00 CEST/Amsterdam time (your local time: 2022-04-21T15:00:00Z).

The provisional meeting agenda will be linked in the #pipeline-assets-io-module channel before the meeting.