Реалистичный рендеринг поверхности в компьютерных играх

Реалистичный рендеринг поверхности в компьютерных играх

Переворачивающиеся автомобили, летающие ракеты и самолеты, мчащиеся по экрану — на современных компьютерах трехмерные объекты можно рассчитать в мгновение ока. Однако многие поверхности по-прежнему выглядят неестественно. Будь то кожа, камень или воск — на экране компьютера все материалы выглядят одинаково, как если бы все предметы были вырезаны из одного и того же непрозрачного материала. Это скоро изменится: TU Wien (Вена), Университет Сарагосы и компания по производству видеоигр Activision-Blizzard разработали новый математический метод, который делает поверхности намного более реалистичными за счет учета рассеяния света, которое происходит под поверхностью.

Свет снизу
Когда мы подносим руку к солнцу, оно выглядит красным по краям, потому что свет проникает в нашу кожу. На внешний вид объекта сильно влияет рассеяние света внутри материала. «Это называется подповерхностным рассеянием», — говорит Кристиан Фройд, который работает над новым методом визуализации вместе с Кароли Жолнаи, Томасом Озингером и Майклом Виммером. "Это рассеяние внутри объекта — основная причина, по которой разные поверхности могут выглядеть так по-разному.

Кожа не похожа на воск, а растение не похоже на поверхность камня », — говорит Кристиан Фройд.
Кожа особенно сложна.

Лицо можно визуализировать с высоким разрешением, с ультра-реалистичными деталями, вплоть до единичных пор и крошечных примесей; но это не значит, что это выглядит реалистично. Если не учитывать подповерхностное рассеяние, даже идеально смоделированное лицо выглядит так, как если бы оно было высечено из тусклого, непрозрачного камня телесного цвета.

Дело в вычислении времени
«В принципе, мы могли бы смоделировать физику рассеяния света под поверхностью», — говорит Кристиан Фройд. "Но для этого нам пришлось бы смоделировать бесчисленное количество световых лучей, и на рендеринг одного изображения ушли бы часы."Поэтому исследовательская группа искала способ добиться аналогичного эффекта за доли секунды. Так был разработан "SSSS-метод" (разделимое подповерхностное рассеяние).
Хорхе Хименес из Activision-Blizzard придумал основную идею и разработал аналогичный метод специально для кожи. «На основе этого мы разработали математическую основу для отображения произвольных материалов, например мрамора, воска или растений», — говорит профессор Майкл Виммер. "Мы начинаем с расчета рассеяния одиночного луча света под поверхностью. С этим результатом мы можем создать простой профиль фильтра, который затем можно будет снова и снова применять к изображениям », — говорит Кристиан Фройд. «Компьютерное изображение по-прежнему создается обычными методами, затем мы модифицируем его с помощью нашей SSSS-техники, улучшая внешний вид поверхностей."
«Мы искали элегантное решение, которое можно применить к уже визуализированному изображению.

Последняя версия нашего метода занимает всего полмиллисекунды на изображение в разрешении Full HD на стандартном стандартном оборудовании, — говорит Кароли Жолнаи. Это означает, что на плавность движения это не влияет.
«Попытки включить подповерхностное рассеяние в рендеринг в реальном времени предпринимались и раньше, но до сих пор время вычислений всегда было слишком большим для практических целей», — говорит Кристиан Фройд. "Теперь мы смогли свести модификацию двухмерного изображения к двум одномерным вычислениям.

Это экономит время вычислений, но по-прежнему дает очень убедительные результаты.«Это уменьшение размерности было достигнуто с помощью различных математических методов, от точного интегрирования и численной оптимизации до управляемого пользователем моделирования цветового профиля», — говорит Томас Оцингер.
Activision-Blizzard уже использует этот метод.

Команда уверена, что метод SSSS скоро будет использоваться и во многих других приложениях. Новый метод будет представлен в журнале «Форум компьютерной графики», поэтому все разработчики смогут свободно использовать новый подход.