The patch was accepted and merged to main as of today 2026/08/18
The Cycles Principled BSDF will support dispersion
https://projects.blender.org/blender/blender/pulls/162041
https://projects.blender.org/blender/blender/pulls/162041
The patch was accepted and merged to main as of today 2026/08/18
6 Comments
TacticalToothbrush@discuss.tchncs.de · 4 pts · 35d
Heck yes! no more white noise + IOR range trickery.
People will go nuts when they put in full caustics.
edit: tried it with 2026-08-20 build, and it's okay.
feels more noisy compare to old hacky way.
Hadriscus@jlai.lu · 2 pts · 35d
I don't usually render dispersion, but the few times I've done it in the past was by mixing several refraction bsdfs with varying IORs and colors. How do you use white noise for the same effect?
TacticalToothbrush@discuss.tchncs.de · 3 pts · 35d
I don't usually do dispersion either. I forgot the detail and have to refresh my memory by building it.
This node setup is a simplified version of method in the video linked below
https://www.youtube.com/watch?v=lEPZ1IUkoB4
In this video, the author goes into detail as to why using white noise is superior - the dispersed colors are continuous.
And with this glorious feature update (assuming it will land in 5.3) we can skip all the riggamaroo demonstrated in the video and get even more physically "accurate" result.
Hadriscus@jlai.lu · 1 pts · 35d
Cheers, I'll take a look. From your capture I'm not sure I understand how it would create a continuous rainbow. I would expect homogeneous color noise. I suppose the video answers this
Hadriscus@jlai.lu · 3 pts · 35d
That's good news, maybe Cycles doesn't need to go full spectral after all if that sort of effect has special handling.
nemopy@lemmy.zip · 3 pts · 35d
Exactly my thoughts.
I checked the spectral Cycles branch devtalk thread and it seems to be pretty much dead, and this patch looks like the final nail in the coffin.
I hope the work and effort of the community contributed in any way to this, I believe the branch ended in a point where there were too many issues too hard to deal with.
Some more good news is that according to someone who knows more than me presumably (u/Eary in the devtalk forum), I quote:
Though they also mention that this implementation has its drawbacks in some specific edge cases and assumptions taken (hardcoded stuff), which would need multiple presets to handle all of them.