2024-05-16 Pipeline, Assets & I/O Meeting

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

Present: Bastien Montagne, Brecht Van Lommel, Jesse Yurkovich, Micheal Kowalski, Sergey Sharybin

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).

Links

USD

Targets for Blender 4.2

  • Micheal keeps working with Charles Wardlaw on smaller feature ports from the USD branch. The deadline for these to be integrated in the 4.2 LTS release is June 5th.
  • Import UsdGeomPoints as Point Clouds: the PR is almost ready, Micheal and Jesse are working on it.
  • Brecht mentions that Apple may help finish the MaterialX export for the USD exporter.
  • Jesse notes that Eevee Next removed the ‘Alpha clip’ feature, which was already not in Cycles. This will have to be addressed for USD import.
  • Jesse also still plans to address some UI refactor in the USD importer soon.

Improved Integration of USD in Blender

See also the synthetic task.

Now that the initial Collection Export project is mostly done, it would be good to discuss what next big step to take towards USD deeper integration in Blender. Probably in the idea of direct instancing of (read-only) USD data in Blender?

Collection Export

This is about the basic support of export settings per collection, available for any external format (not the more advanced topics discussed in the previous meetings, specific to USD).

See also the design task.

There is still one point that could use some work before 4.2 release:

  • Linked collections in ViewLayer have collection export settings visible and active. Suggestion is to hide them, and never use a linked collection as ‘trigger’ for export (i.e. only export linked collections when they are part of the hierarchy of a local ‘export-enabled’ collection).

Collada I/O code moving to legacy status

As announced this week, the Collada file format support is now (for Blender 4.2 LTS) considered as legacy, and will be removed from the codebase in a future release.

Next Meeting

The next meeting will be on Thursday 30th May, 17:00 CEST/Amsterdam time (your local time: 2024-05-30T15:00:00Z).

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

1 Like
  • Jesse notes that Eevee Next removed the ‘Alpha clip’ feature, which was already not in Cycles. This will have to be addressed for USD import.

glTF has the same feature ( opacityThreshold in USD, alphaCutoff in glTF). An initial glTF change just landed that recognizes either a round(alpha) Math node (for the common cutoff=0.5 case) or (1-(alpha < cutoff)) (shaders having no >= node) instead of using the Alpha Clip Eevee feature. (It could be changed to handle alpha > cutoff too if desired.)

It would be great to make sure the node setups the glTF/USD code decide to use for this feature are compatible.

1 Like

The plan for USD is/was(?) to only use the Less-Than + 1-minus combo for both Import and Export. Our default is 0.0 for that value so didn’t really consider checking for the Round form. Though I suppose it just might be a simple check to see and then use 0.5 for such setups.

I’ve only done Import locally right now and will do Export here soon. glTF will only use the combo form during its Import btw.

1 Like

I added the Round form because

  1. It’s one node with one input and one output, so a lot less fiddly to make than 1-(a<t)
  2. 0.5 is by far the most common case for the cutoff (when enabled)
  3. I think “round alpha down to 0 or up to 1” is conceptually easier to explain/understand. Right now it’s actually the only form pictured in the manual (the other form is only mentioned in passing in text).

If you want to get rid of it though, you’d just need to change this block (and the manual).

glTF will only use the combo form during its Import btw.

Correct.