Render.ru

Dielectric Mental Ray

JVMaker

Активный участник
Рейтинг
12
#1
Люди, я или чего то не понимаю или у диэлектрика ментала атрибут ior out и правда не работает так как должен. Он вроде как меняет индекс преломления луча при его пересечении стороны поверхности с противолежащей ему нормалью, и по принципу подобен col out. Но как я не менял его значение результат остается одинаковым если поверхность двухсторонняя. Хотя если взять простой Plane и развернуть его обратную сторону к камере то результаты будут отличатся но на это влияет только ior, хотя не должен, В чем секрет и есть ли он вообще, кто знает?
 

Владимир Забелин

Активный участник
Рейтинг
17
#2
Если мне не изменяет память там ситуация следующая. Индекс преломления - физически это отношение угла падающего луча к углу преломленного луча на разделе двух сред. IOR (indeх of refraction ) определяет коэффициентт преломления материала по отношению к воздуху. Теперь ситуация : коньяк в стакане. у нас есть поверхность раздела стекло-воздух (индех преломления 1.5), коньяк-воздух (индекс преломления 1,3 ). и стекло-коньяк. чтобы не высчитывать коэффициент преломления между стеклом и коньяком, просто задаем два коэффициета преломления - среды на входе (стекло)1,5 и коэффициент среды на выходе (коньяк) (1,3)

вот и все. односторонность поверхности здесь не причем, а вот направление нормали по идее должно оказывать влияние
 

JVMaker

Активный участник
Рейтинг
12
#3
Мне об этом известно, хотя и с недавних пор. Просто если посчитать IOR между двумя средами и дать их на значения каких нибудь других шейдеров, желательно физических, то результаты будут меняться при изменении значений. Но с диэлектриком это не работает. По крайней мере если взять простой цилиндр с внешней и внутренней стороной и поставить на первый ior значений допустим 1,5 и на второй вписать хоть 20 хоть 2 результат не изменится.
 

Владимир Забелин

Активный участник
Рейтинг
17
#4
на простом цилиндре у тебя и не будет работать, потому что только одна поверхность и используется модель диэлектрик - воздух, то есть ior_out просто игнорируется. Попробуй использовать 2 цилиндра, один внутри другого, тогда на внешнем будет использоваться модель диэлектрик-воздух, а на втором диэлектрик-диэлектрик.
 
Сверху