Cyles: Dispersion glass materal

Hello blenderheads,

I am posting my test with fake glass dispersion in Cycles.

What is the approach I use?
First I split glass color into RGB channels which I route into three different glass closures that have each slightly different IOR. The channels are then merged back together and voila, you have something that looks not so bad. Additionaly I add one more glossy closure to have more control over (sort of) “specular reflection”.

Here is screenshot of node tree and zipped .blend file

Thanks and enjoy!


Cycles mustt be the favourite tool of MCGywer :wink:

very nice work so far!

Wow, looks amazing, nice work!


great fake :slight_smile: thanks

I was led here by a post from Bao2 in the ‘Cycles tests’ thread.
Petrludvik, you’re very clever, a really fine setup, and it is physically correct, not fake, if I’m right. (with the correct IORs of course)
Thank you!


Course this is not physically correct, but still you achieve much better results with this fake than I. Thanks.

Done in 2. something when nodes first appeared, BI of course.

Glad its more accessible now, the noodles for this looked exactly like its name … noodles

I noticed that in your node setting you gave a higher IOR to the red component, but it should be the opposite, the blue component having a higher IOR then red, and the green in between, because for the Snell’s Law, the IOR increase with the frequency of radiation (for normal transparent materials).

Apart from laziness, the right deltas between IORs at the R-G-B frequencies, on per material base, should be easy to know, so to get quite correct glass, diamond and so on.

In reproducing your concept by myself, I mixed the output of the above calculations with a basic glass (same parameters), and with the ‘Is Transmission Ray’ lightpath as fac; it should give a more physically correct result, bacause actually the reflected rays should not be dispersed.


1 Like

Very nice!

Thanks michalis,
petrludvik’s idea is smart indeed, and correct me if I’m wrong, not away from physical correct after all.


very clever, you guys! I was frustrated with the lack of dispersion, now I can use it on my diamond materials, which I’ve needed badly.

@sourvinosSourvinos or Petrludvik, could you post you blend file, thanks.

There we go…

dispersive glass-cy.blend (835 KB)


Thank you for posting the blend file, Survinos.

Very glad to do it.


Here is my test of a diamond material using this setup

I thought this was generally a very cool thread (and subject) but the diamonds are just so over the top -they almost look composited from a photo onto a rendered background, hehe, that is just crazy… Amazingly cool! ;D

Very nice indeed.