XM Magdalena 3D print, GGeorgy (3D)
LC #42 Pipers Alley

View Full Version : Dispersion in MR?

12-28-2011, 10:15 AM
Does anyone know of a half-decent way to create dispersion, or chromatic abberation in refractions in mental ray that does not involve the old "render the R, G, and B channels separately with different IOR" workaround?

12-28-2011, 06:04 PM
i often use cheats to get nice RGB aberation in my refraction.

In 3D
- you can remap a facing ratio into a color ramp by using repetitive RGB gradiant
- then you plug your ramp in the color transparancy of your shaders
- or if you already have a texture you blend your texture and your RGB ramp.

- you can also make some dirty painted RGB aberation in your env map to get the same Fx

In 2D
- you can outpout your pass separatly with render pass
- in nuke you take your refraction pass
- you make a shuffle of your RGB channel
- you make a slight transform masked + very soft glow on each channel
- and you recompose them

like the frischluft box blur http://www.frischluft.com/flair/index.php

for photorealistic and physically correct stuff you can check this, its very informative


but forget this setup for animation purpose , it is slow as hell ...

hope it helps !


12-28-2011, 08:07 PM
You can also use the bokeh lens shader and plug what would look like a 3 colored venn diagram into the texture slot. You can obviously use a different texture, but that is the one I like best.

After a quick google search:


12-30-2011, 06:08 AM
One of the reasons Zap's technique is slow is because laying shaders forces the evaluation of all shaders. (Layer 4 together, go through 4 shader functions with light loops, etc.)

Something like the layered approach in the newer iRay BSDF models will avoid this problem by running all the layers as one importance sampled shader.

I have not tried this with iRay yet, not sure how well exposed this is in Max (it has the newer iRay libraries.)

12-30-2011, 02:47 PM
Thanks for your answers guys. I was looking for a more or less physically correct solution, but I guess separate R,G and B channels renders are as close as we get at this point. :/

CGTalk Moderation
12-30-2011, 02:47 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.