VRay - какво е това и как да го използвате Част 1
Сред модерните програми за рендиране за 3ds max, VRay е най-популярният. Без да преувеличаваме, можем да кажем, че VRay е толкова популярен, колкото всички други рендери - mental ray, finalRender и brasil r/s заедно. Този факт е още по-изненадващ и забележителен, тъй като алгоритъмът и ядрото на програмата са разработени само от няколко души.
Основни принципи
Основната задача на всяка програма за рендиране е да изчисли осветеността и цвета на произволна точка в триизмерна сцена. Тази задача е много трудна. Изчислителните методи на компютърната графика са изминали дълъг път на еволюционно развитие, преди да достигнат съвременното ниво на фотореализъм на изображения, синтезирани на компютър.
Първото нещо, което се научихме да броим, е осветяването на обекти от източници на светлина, които са в пряка видимост, когато обектът и източникът могат да бъдат свързани с права линия. Моделът за осветяване Phong и моделът за засенчване Phong бяха коронното постижение на този изчислителен модел, което направи възможно изглаждането на цвета на полигоните на повърхността и изчисляването на огледалните акценти за него. Този модел на осветление, както и неговите модификации (Lambert, Blinn, Torrent, Ward и други) все още са основата за изчисляване на директното осветление, макар и с някои допълнения. Едно от най-важните уточнения - отчитането на пространствените размери на източника на светлина, ви позволява да получите меки ръбове в сенките на обектите. Друго допълнение се отнася до определянето на затихването на интензитета на светлината с разстоянието. По-специално, при физически правилни изчисления на осветеността се използва законът за квадратично затихване на интензитета на разпространяващ се светлинен лъч с разстояние.
Вторият компонент на осветеността на обектасе определя от огледалното (или близко до огледалното) отражение от околната среда и прозрачността на самия обект. За изчисляването му е разработен метод за проследяване на лъчи. Този метод проследява пътя на светлинните лъчи от камерата до първата пресечна повърхност и след това, в зависимост от прозрачността или отразяващите свойства на повърхността, определя посоката на по-нататъшното разпространение на лъча. Методът за проследяване на лъчи от камерата за първи път направи възможно да се вземе предвид заобикалящата го среда при изчисляването на осветеността на обект и беше по-ефективен от проследяването на лъчи от източници на светлина, тъй като обработваше само лъчите, достигащи до камерата. Един от недостатъците на класическия метод за проследяване на лъчи е "твърдостта" на полученото изображение - прекомерна яснота на контури, сенки, цветове. Поради това впоследствие беше разработена модификация, известна като проследяване на разпределение на лъчи (DRT). Същността на DRT е, че при всяко пресичане на трасиран лъч с повърхности по неговата траектория се изграждат не един, а няколко лъча от всяка пресечна точка. Този процес донякъде прилича на верижна реакция. Този подход направи възможно изчисляването на размити отражения и пречупвания (известни също като размити, замъглени или лъскави отражения и пречупвания), но за сметка на огромно увеличение на количеството изчисления. Моделът DRT е внедрен в свойствата на отражение и пречупване на VRay материали, използвайки параметъра Glossy. Поради високата цена на DRT изчисленията, бавното изчисляване на VRay лъскавите материали се превърна в приказка в града.
Третият компонент на осветяването на обекти изчислява множество дифузни преотражения на светлината от околните обекти. Първият метод за изчисляване на вторичната дифузна осветеност беше радиоизлъчването, което, въпреки че се използва и днес, поради редица присъщи му недостатъци, отстъпи място намясто за два по-усъвършенствани алгоритъма за изчисление - методът Монте Карло и методът на фотонната карта. Методът на фотонната карта създава база данни за всяка повърхност на обекта на сцената, която съхранява информация за сблъсъците на „фотоните“ с повърхността – координатите на сблъсъка, посоката и енергията на фотона. Фотонът е част от светлинната енергия, разпространяваща се в определена посока от даден източник на светлина. Плътността на фотонната карта се използва в по-нататъшни изчисления за оценка на осветеността на дадена точка в резултат на дифузно разсейване на светлината върху околните повърхности. Всички визуализации, използващи метода на фотонната карта, извършват изчислението на светлината в две преминавания. Първият проход проследява фотони от светлинни източници до повърхности и създава фотонни карти за тях. При второто преминаване лъчите от камерата се проследяват обратно и фотонните карти се използват за изчисляване на дифузното осветяване на точките на пресичане на обратно проследяваните лъчи с повърхности.
Четвъртият компонент на осветеността се занимава със специален случай на осветеност - той изчислява светлинните ефекти, произтичащи от фокусирането, дължащо се на пречупвания или отражения на светлинни лъчи в дадена област на повърхността. Тези ефекти се наричат каустични светлинни ефекти и леща, която фокусира слънчевата светлина върху повърхността на обект, може да служи като отличен илюстративен пример "от живота". Изчисляването на каустични светлинни ефекти може да се извърши чрез фотонно картографиране, но това изисква локална фотонна карта с много висока плътност. Следователно такива фотонни карти се създават отделно, ако е необходимо.
Обобщавайки горното, може да се твърди, че сегашното ниво на развитие на изчислителните методи на компютърната графика позволява да се изчислиосветяване на произволна точка от триизмерна сцена като сбор от четири компонента: директно осветление, огледални пречупвания и отражения, вторични дифузни отражения и каустични светлинни ефекти.
За идеално точно изчисляване на цялата светлина, падаща върху дадена точка от повърхността, е необходимо да се сумират лъчите светлина, влизащи в нея от всички посоки. Това води до необходимостта от интегриране на осветлението върху полусферата, заобикаляща точката, ако тя принадлежи на непрозрачна повърхност, или върху сферата, ако повърхността също е прозрачна. За конструиране на интеграли на осветеност в компютърната графика се използват функции, които описват всичките четири компонента на осветеността - функции на светлинни източници, функции на свойства на огледално (идеално) отражение/пречупване на повърхност и функции на дифузно отражение на повърхност. Последните два вида функции често се комбинират в една, наречена BRDF - Bidirectional Reflectance / Refractance Distribution Function (двупосочна функция за разпределение на отражението / пречупването). В повечето случаи обаче точното аналитично решение на такива интеграли е невъзможно, поради което се използват различни числени методи за намирането им.
Един от основните методи е методът Монте Карло. В най-общия смисъл методът на Монте Карло ви позволява да изчислите стойността на интеграла като сума от малък брой стойности на интеграндите, избрани на случаен принцип. Всъщност целият математически апарат на метода Монте Карло е правилата за определяне на избора на такива стойности, тъй като точността и скоростта на намиране на решения на интегралите зависят от това. Стойностите на интеграндите, избрани за изчисляване на интеграла, често се наричат проби. Понастоящем Монте Карло е де факто стандартът за изобразяване.триизмерна компютърна графика и се използва много широко - в почти всички водещи пакети. Този метод обаче има сериозен недостатък - бавна конвергенция на решенията. На практика това означава, че за да се повиши качеството на изчислението на осветеността, например с фактор две, ще е необходимо да се учетвори количеството изчисления (брой проби). Липсата на качество се проявява в рендера като "шум" - видими светли петна в изображението, зърнистост и визуални артефакти.
Методът на фотонната карта е разработен като алтернатива на изчисляването на вторично дифузно осветление по метода на Монте Карло и замества изчисляването на съответния интеграл. Този подход има редица предимства и недостатъци. Основните предимства на фотонните карти са скоростта и коректността на изчисленията. Недостатъците са свързани с големи изисквания към паметта и трудности при обработката на фуги, ъгли и повърхностни граници. На практика, поне засега, се използва комбинация от метода Монте Карло и фотонни карти.
Софтуерното ядро VRay е изградено изключително по метода Монте Карло. VRay също използва метода на фотонната карта, но не като алтернатива на метода Монте Карло (какъвто е случаят например в mental ray), а като допълнение. По-точно, за първото дифузно отражение (лъч светлина от източник удря повърхността, отразява се и удря точката, чиято осветеност се изчислява), VRay използва метода Монте Карло. За всички дифузни преотражения, като се започне от второто (светлинният лъч се отразява два или повече пъти от други повърхности, преди да достигне изчислената точка), могат да се използват както методът Монте Карло, така и методът на фотонната карта. В терминологията на VRay първото дифузно отражение се нарича First diffuse bounces - първото отскачане, всички други повторни отражения са вторични отражения иливторичен отскок. Този подход е доста рационален, тъй като е известно, че основната част от дифузното осветяване на точка се формира от второто отражение. Приносът на останалите отражения е малък поради много бързото намаляване на интензитета на дифузните отражения с увеличаване на броя им. По този начин комбинацията от метода Монте Карло и фотонните карти, предложени във VRay, осигурява точност и по-висока скорост на изчисленията в сравнение с конкурентните програми за рендиране.
Използването на фотонни карти за изчисления на отражение е много по-предпочитано, тъй като ви позволява да получите по-добър резултат по-бързо. Въпреки това, поради факта, че фотонните карти не могат да работят с източници на светлина като Skylight, HDRI и са ограничени от размера на наличната памет, при изчисляване на осветеността на отворени сцени и в някои други специални случаи методът Монте Карло често се използва вместо фотонни карти.