Какво е проследяване на лъчи?
Наскоро демонстрация от Epic, създателите на Unreal game engine, повдигна вежди за фотореалистичните си светлинни ефекти. Техниката е голяма стъпка напред за проследяване на лъчите. Но какво означава това?
Какво прави проследяването на лъча
Казано просто, трасирането на лъчи е метод, който графичният двигател използва, за да изчисли как виртуалните източници на светлина засягат елементите в тяхната среда. Програмата буквално следи на лъчи светлина, използвайки изчисления, разработени от физици, които изучават начина, по който се държи истинската светлина.
Графичните двигатели като Unreal или Unity използват трасиране на лъчи, за да направят реалистични светлинни ефекти - сенки, отражения и оклузии - без да се налага да ги представят като свои собствени обекти. Въпреки, че е доста интензивно от гледна точка на обработката, използването му за изобразяване само на това, което камерата (т.е. играча) трябва да види във всеки един момент, означава, че тя може да бъде по-ефективна от други, по-стари методи за симулиране на реалистична светлина във виртуални среди. Специфичните светлинни ефекти се изобразяват на една двуизмерна равнина от гледна точка на зрителя, а не постоянно в цялата среда.
Всичко това се постига с някаква невероятно сложна математика, както по отношение на действителното определяне на начина на поведение на виртуалната светлина, така и на това, колко от тези ефекти са видими за зрителя или играча по всяко време. Разработчиците могат да използват по-малко сложни версии на същите техники, за да отчитат по-малко мощния хардуер или по-бърза, гладка игра.
Проследяването на лъчите е общ подход към графиката, а не към някаква специфична техника, въпреки че е непрекъснато усъвършенствана и подобрена. Може да се използва в предварително създадени графики, като специалните ефекти, наблюдавани в холивудските филми, или в двигатели в реално време, като графиките, които виждате по време на игра по време на компютърна игра.
Какво ново в проследяването на лъчите?
Демото, което се е превърнало в проследяване на новините наскоро, е това във видеото по-долу, кратко Междузвездни войни скица, включваща някои шпиониращи се с лошо време. Тя бе показана на Конференцията за разработчици на игри миналата седмица. Тя е създадена от Epic Games (създатели на вездесъщия Unreal Engine) в партньорство с NVIDIA и Microsoft, за да покажат нови техники за проследяване на лъчи.
Извън контекста, това е просто шантаво видео. Но най-важното е, че той се визуализира в реално време, като видео игра, а не като филм на Pixar. Видеото по-долу показва, че водещият увеличава камерата през сцената с контроли в реално време, нещо, което не е възможно с предварително създадени графики.
Теоретично, ако геймингът ви е достатъчно мощен, той може да генерира такива графики във всяка игра, използвайки новите светлинни ефекти за проследяване на лъчи в предстоящата версия на демо Unreal..
Технологията наистина блести (разбирате ли?), Защото тази конкретна демонстрация включва много отразяващи и огледални повърхности с неправилна геометрия. Проверете начина, по който околната среда се отразява в извитите панели на хромираната броня на капитан Фазма. Също толкова важно е да забележите, че се отразява по-приглушено и дифузно от бялата броня на обикновените штурмовици. Това е ниво на реалистично осветление, което не е налично в игрите днес.
Ще направи ли играта ми страхотна?
Е, да - в много специфични обстоятелства. Това усъвършенствано ниво на проследяване на лъчите ще улесни видео игрите да правят по-впечатляващи светлинни ефекти, но всъщност не прави многоъгълната структура на графиката по-подробна. Той не увеличава разделителната способност на текстурите или увеличава плавността на анимациите. Накратко, това ще направи осветлението да изглежда реалистично и това е всичко.
Демото по-горе е особено драматично, защото разработчиците избират герои и среди, където почти всяка повърхност е или блестяща, или отразяваща светлина. Ако използвате същата технология, за да направите, да речем, главния герой на Вещерът поредица, която язди коня си през провинцията, няма да видите никакви повърхности, отразяващи големи, с изключение на меча си и може би малко вода. Най-важното е, че техниките за проследяване на лъчи няма да направят много, за да подобрят представянето на кожата му, козината на коня, кожата на дрехите му и т.н..
Заглавията, които идват от тази демонстрация, които твърдят, че това ще доведе до „графична графика с блокбъстър“, са малко хиперболи, което може да е вярно, ако играете ниво, заложено в зала на огледалата, но това е всичко.
Кога ще видя тези неща в моите игри?
Демонстрацията на GDC е пример за собствена техника за проследяване на лъчи, наречена RTX, която в момента се разработва от NVIDIA. Той ще дебютира в следващата серия от висококачествени GeForce графични карти, за които в момента се съобщава, че ще дебютира по-късно тази година с номерата на моделите 20XX. Подобно на други собствени графични технологии, като например PhysX на NVIDIA, той вероятно няма да бъде достъпен за играчи, които използват графични карти от други производители..
Като се има предвид това, RTX също използва нова функция на DirectX API системата специално за проследяване на лъчи (наречена raytracing от Microsoft). И така, докато конкретните демонстрации по-горе са сътрудничество между Epic и NVIDIA, нищо не пречи на конкурентните производители като AMD и Intel да създават подобни системи със сходни резултати.
Просто казано, ще видите, че компютърните игри от висок клас започват да използват тези техники към края на 2018 г. и началото на 2019 г. Геймърите, които инвестират в нови графични карти по това време, ще видят най-голяма полза, но ако вече имате високотехнологична система за игри, може да използвате някои от тези ефекти в DirectX-съвместимите игри на текущия ви хардуер.
Поради дългите времена на разработка и статичните хардуерни цели, конзолните плейъри няма да виждат тези усъвършенствани графики, докато следващият кръг от игровите конзоли не се пусне след няколко години.
Кредит за изображения: NVIDIA, Epic / YouTube, Guru3D / YouTube