2022-1-4 Blender Rendering Meeting

Attendees

  • Brecht Van Lommel (Blender)
  • Kévin Dietrich (Blender)
  • Thomas Dinges (Blender)
  • Patrick Mours (NVIDIA)
  • Christophe Hery (Facebook)
  • Feng Xie (Facebook)

Notes

Cycles

  • William will not be continuing as part of the Cycles team at the Blender Institute. Many thanks for his contributions to the project, and all the best for the future. We are looking into hiring another Cycles developer.
  • Ray offset / precision is almost ready, Brecht is still looking into optimizations. It’s slower because we are almost always hitting a triangle due to self intersection, which then has to be rejected. A few % slowdown however seems inevitable and acceptable for the improved precision. Planned to be committed in bcon2 for 3.1 still.
  • MNEE patch was further improved by Olivier. Brecht needs to find time to look into the latest version. This is for 3.2 at the earliest in any case. Christophe mentions that we should manage expectations and clarify that this works well for specific cases, but is not a general caustic solution. Brecht says we could still have the limited version first, and then look into extending this in general specular manifold sampling in a later iteration. (patch, feedback)
  • Light groups mainly needs UI polishing but this can be done in bcon2 or later releases also. Thomas mentioned the main issue being that renaming light groups does not update them on lights. Brecht will test the latest version of the patch to check if we can get this into 3.1 still, also now that the bcon2 deadline has been extended.
  • OptiX animation denoising just needs final approval and Patrick can commit it then. Low risk since this is an advanced operator not yet in the UI. Feng asked for some examples of real world renders to see how well this work in real world scenes, Patrick looks into it.
  • Point cloud rendering support was committed. Brecht still plans to make some improvements to this for 3.1, most importantly a node for access to some point cloud info like radius and randomization. (task)
  • Kévin has a patch to support point cloud motion blur rendering with the velocity attribute.
  • No updates on HIP and Metal support in this meeting (no developers from AMD or Apple were present).

Eevee & Viewport

  • Kévin committed the GPU subdivision support. Some issues to resolve, among them how to pass the subdivided mesh to external renderers in the viewport, and in the Python API in general.

Rendering API

  • In a task on developer.blender.org there was a discussion around data structures for curves and hair. To move forward, Brecht suggests to use the existing Hair data structure to improve Alembic / USD import of hair and support rendering it directly in Cycles and Eevee. And then let the geometry nodes team do further improvement to the data structure and support editing it with nodes, when they have time.
  • Improved UDIM support was added by Jesse Yurkovich, with the possibility to now explicitly specify a UDIM token in filenames, and support for the UVTILE syntax.

Practical Info

This is a weekly video chat meeting for planning and discussion of Blender rendering development. Any contributor (developer, UI/UX designer, writer, …) working on rendering in Blender is welcome to join and add proposed items to the agenda.

For users and other interested parties, we ask to read the meeting notes instead so that the meeting can remain focused.

  • Agenda
  • Google Meet
  • Time: Tuesday 5 to 6 PM Amsterdam Time
  • Next Meeting: January 18, 2022
29 Likes

Most external renderers can do some form of in-renderer subdivision already. I would argue that being able to get the un-subdivided mesh would make export faster.

Sorry I’m on parental leave but will have someone from AMD join the next meeting.

12 Likes

What is the Update on AMD GPU Linux support for 3.1 ? Is 3.1 still a target ? Thanks.

2 Likes

Yes, it would make sense to support both and solve that old problem now that we are changing the system here. Currently GPU subdivision may or may not be enabled depending on the hardware and preferences, and we need to have a consistent API independent of that.

@KevinDietrich, it may make sense to do create a mesh wrapper for delayed subdivision always, even if GPU subdivision is disabled. Then I think in the API we can more easily support getting either the subdivided or non-subdivided mesh.

Not sure if we have a mechanism now to keep around both, or if the subdivision is irreversibly applied now. If the subdivision is applied because something else needed it it’s not terrible, in that a renderer may as well use the subdivided meshes if it was computed anyway. But it’s also unpredictable when that happens, and if the renderer subdivision support is a bit different or has additional settings like adaptive subdivision it’s confusing.

2 Likes

@leesonw thanks for you work, it’s been great to collaborate with you, I wish you the best in your future position :slight_smile:

11 Likes

Parental leave? Sounds like congrats are in order, congrats. =)

10 Likes

Hi @brecht , any news about Many Light Sampling and texture caching? Those are two missing major additions IMHO.

Thanks

There is no news on this.

Congratulations on becoming a father.

are you planning to add shader to rgb node support to Cycles? at the moment it is only supported in Eevee. I had to deal with NPR rendering, and without this node it is impossible to create styling. I’m afraid that eevee will not cope (for example, with reflections, or shadows, it will be animation, and as far as I’ve heard, baking light will have to be done every new frame)

2 Likes

I have a friend who is very interested in cycles, but complains to me that he can’t read the code (I guess it’s difficult to read other people’s code) Where can I find a commented version of the source code?

There is no “other” version of the code with more comments, but something that might help is the code documentation (unfortunately not fully complete) or the commit messages of the code changes (see git blame).

No, there are no plans for this, it’s incompatible with the architecture.

Yes.

1 Like