Render.ru

имитация дисперсии!

#1
если кому интересно:
делаем три цветных и три векторных канала, и добавляем в multi reflection/refraction -

vec red/col red
vec green/col green
vec blue/col blue

далее VSL:

angle = abs.val(ray*normal) - как в нормальном стекле;

Vec red = refract(opt. thickness exterior=0, opt red, Ray, Bump normal)
Vec green = refract(opt. thickness exterior=0, opt green, Ray, Bump normal)
Vec blue = refract(opt. thickness exterior=0, opt blue, Ray, Bump normal)

col red = multiply(angle,red)
col green = multiply(angle,green)
col blue = multiply(angle,blue)

reflection = 1-p1(angle)
color = 0,0,0

opt red green blue - из учебника физики - например:
0.39 0.395 0.40 - для стекла тяжелый флинт.

каустик выходит прикольный (правда в спектре нет оранжевого, желтого, и фиолетового).

пример:
http://users.i.com.ua/~komora2/img/dispers.jpg
 
#4
одно уточнение!

для четной рекурсии нужно менять местами
внешнюю и внутреннюю оптическую плотность.

http://users.i.com.ua/~komora2/img/dispers.jpg
http://users.i.com.ua/~komora2/img/dispers.zip
 
#5
Интересный результат andyS.Шейдеры на эту же тему можно нати тут http://pifips.com/realsoft/
 
Сверху