Cycles Development Updates

Nested dielectrics - woohoo :grinning:

Nice to see stuff like this being worked on (crosses fingers that glints will also be looked into at some point too).

4 Likes

Some more Info about these patches in the render meetings from today:


2024-02-20 Render & Cycles Meeting

Attendees

  • Brecht Van Lommel (Blender)
  • Thomas Dinges (Blender)
  • Weizhen Huang (Blender)
  • Lukas Stockner (Blender)
  • Christophe Hery (Meta)

Notes

  • Not much work remaining for Blender 4.1, some small things for OpenImageDenoise and keeping track of any significant new bugs reported.
  • There was a review of the following work in progress:
    • Blue noised dithered sampling . Biggest downside is that this doesn’t do anything with the default setting of max samples 1024, it only works with something small like 4. We don’t have a known solution at this point, maybe something simple like using it for the first few samples and then switching is fine in practices. Control variates were brought up as a potential solution. Will have to be tested and researched a bit.
    • Volume stack priority and nested IOR . Decided to make priority an object level property, same as for example Renderman. Did not see a good reason to have it at shader node level, and seems convenient to be able to change this for objects that share the same material.
    • Thin film iridescence to Principled BSDF
    • Multi-scale Principled Hair Huang Model
  • It’s now possible to test pull requests on the buildbot on NVIDIA gpus with the +gpu blender-bot option. There’s also a mechanism for tracking NVIDIA and Apple Silicon GPU performance over time, more info on that will follow.
10 Likes

Couldn’t the shared material read different object level custom property values?

1 Like

Isn’t that exactly what they mean by

?
I read it like “We decided to make this an object-proprty ingested by the shader, rather than a shader-property. This way, several objects can set this differently, even if they share the same material.”

greetings, Kologe

2 Likes

Weizhen’s weekly report mentions the potential implementation of ReSTIR in Cycles!!!

If successful, this integration could greatly enhance Cycles’ capabilities. Fingers crossed for this exciting possibility!

16 Likes

Of course everyone here knows what ReSTIR is! :sweat_smile: :wink:

For those who would need to do a search for this, like I needed to do, here’s some info:

10 Likes

That appears to have huge potential. Exciting to see! I love cycles and to see it progress like this is really great.

4 Likes

The best example of what ReSTIR can do is the toy renderer kajiya, in my opinion:

here are some technical details. Having real time or even semi-realtime rendering in Cycles would be truly revolutionary. I hope Weizhen’s assesment is positive and this can actually happen. Already with GPU OIDN Cycles in the viewport is feeling really good.

EDIT: another cool example I saw some time ago on Twitter. Unity + TrueTrace using ReSTIR:

https://twitter.com/Pjbomb2/status/1737297859253530967

12 Likes

Found interesting article, would be good to have as option.

https://nvlabs.github.io/fermat/_p_s_f_p_t_page.html

1 Like

Cycles with ReSTIR and EEVEE NEXT with Ray tracing
 seems like we are approaching that time when the quality/speed of the two renderers becomes nearly identical, at which point people will pick one over the other based solely on some exclusive gimmick feature.

3 Likes

The quality of Eevee with Raytracing is many miles behind from what Cycles does. Keep in mind, that Cycles is a pure raytracer that handles up to 20 bounces with light and transparencies super fast, while Eevee or game engines like Unreal does just a single bounce and still need a lot more optimised geometry and having a lot shading restrictions.

6 Likes

2024-03-05 Render & Cycles Meeting

Attendees

  • Brecht Van Lommel (Blender)
  • Thomas Dinges (Blender)
  • Weizhen Huang (Blender)
  • Lukas Stockner (Blender)
  • Patrick Mours (NVIDIA)
  • Nikita Sirgienko (Intel)
  • Christophe Hery (Meta)

Notes

  • Brecht is working on high priority bugs regarding OptiX OSL and Metal AMD support. We keep running into compiler bugs for Metal AMD, and are considering to drop support for it in 4.1 if we can’t solve it within a reasonable time.
  • Nikita is working on a pull requests that adds support for OIDN GPU denoising for CPU denoising, and improves usage of preferences to determine the denoising device. There was some discussion about the implementation details of this.
  • Nikita brought up the topic of using OIDN for all GPU devices, as NVIDIA is the exception now that defaults to OptiX. Brecht mentions that it was already the plan to change this so OIDN is the default everywhere for consistency between devices and final renders. Nikita volunteered to implement this change.
  • Lukas continued work on pull requests submitted last weeks. For thin film color management was improved. For dithered sampling, the most practical solution seems to be a simple heuristic like using it for the first sample in viewport rendering, if the max number of samples is higher than 16.
  • Weizhen landed support for near-field microfacet hair, and committed some fixes for this BSDF.
  • Weizhen is investigating ReSTIR algorithms for Cycles. The plan is to first get a simple case working for direct illumination and point lights. For sampling patterns it seems best to add a new dimensions for new sampling strategies. There are some questions regarding shadow rays to be figured out.
12 Likes

Showstopping AMD compiler bugs?
ezgif-7-8962ee7eca

4 Likes

Isn’t Metal, Apples GPU API running on the M series of CPU’s? As such, what has that got to do with AMD?

Some of us still use Intel Macs which rely on AMD GPU’s.

Yea that was my reaction
 feeling of déjà-vu


Ahh, do Apple still even support that old hardware. I mean it is Apple, one goes in largely knowing that the hardware and support tends to have a limited life, at least compared to PC’s.

Something seems semantically off here
 Is that a typo?
Did they mean to write “support for OIDN GPU denoising for CPU rendering”?

greetings, Kologe

No one is holding you back to use old macOS on old hardware. Sometimes they even release security fixes for older macOS.

With the OpenCore Legacy Patcher you can run latest macOS even on old “legacy” hardware. I’m still using my two old i5 (Early 2013) and i7 (Late 2013) MacBook Pro . This won’t be suitable for Blender though :wink: But for everything else it works ok.

1 Like

The last of the huge shading bottlenecks in Cycles is now being worked on (major improvements to the sampling of volumes).
#119389 - WIP: Fix #114634: correlated samples in volume when using equiangular sampling and light tree - blender - Blender Projects

While some areas of a given image will not see an improvement in the convergence rate, this should still mean a major performance boost in conjunction with adaptive sampling.

From Weizhen, so we know we have a good shot at seeing a timely review and commit.

24 Likes