Skip to main content
1 of 3
wchargin
  • 9.5k
  • 6
  • 42
  • 66

From your linked definition of iridescence:

Iridescence [is] the property of certain surfaces that appear to change color as the angle of view or the angle of illumination changes.

Thus, the following node setup should suffice:

Iridescence node setup

The setup simply takes the dot product of the view vector and the surface normal and maps it to a spectrum. If you're not familiar with vector math, you can basically think of a dot product as a measure of how orthogonal (perpendicular) two vectors are; the dot product of two (normalized) perpendicular vectors is 1, while the dot product of two parallel (or anti-parallel) vectors is 0.

You can put this node group in any shader and get a nice result. I tried it in a Diffuse BSDF, but putting it in a Glass BSDF might yield some nice bubble renders.

Here's an image of Suzanne wearing her iridescent cloak (the factor is set to 1.0 to exaggerate the effect):

Iridescence on Suzanne head, fac=1.0

Here's the factor turned down to 40% (lower works in better lighting setups, but my sky texture is blowing it out):

Iridescence on Suzanne head, fac=0.4

wchargin
  • 9.5k
  • 6
  • 42
  • 66