3D Engineering

...Лучшее из общего.

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Наверное вы все уже слышали про это подповерхностное рассеивание...

Наверное вы все уже слышали про это под-поверхностное рассеивание и задаетесь вопросом что это, черт возьми, такое? Хорошо, здесь я расскажу вам всё так, что вы сможете обсуждать такие вещи как BRDF и BSSRDF с Вашими коллегами . И так, начнем.

Первое что вам необходимо знать так это свет. После всего, конечным результатом всего этого под-поверхностного рассеивания и BRDF хлама является реалистичный и аккуратный рендеринг, правильно? Правильно. Мы все знаем что свет (идет ли речь о электрической лампочке или солнце или любом другом источнике света) состоит из лучей. Световых лучей, если хотите. Теперь, что делает рендерер (такой как Final Gathering, mental ray, Lightwave и т.д.) когда визуализирует - вычисляет цвет, интенсивность и направление световых лучей льющихся из отдельного источника. Вы всё ещё со мной? Хорошо.

Теперь с введением radiosity (диффузного отражения) в множество популярных 3D пакетов, у нас появилась возможность получать более реалистичные изображения не тратя десятки тысяч долларов на программы (MAYA? хм... Простите). Так что такое radiosity? Это вычисление "отскоков" световых лучей испускаемых источниками света и самосветящимися моделями. Так вы говорите у вас есть стол на кухне и только один источник света над столом? Без radiosity, всё что что будет освещено этим источником света так это верх стола и пол. С radiosity свет отражается от пола и освещает (частично) низ стола также как и его ножки и всё вокруг. Посмотрите на рисунок 1 для примера.


Пример Radiosity

Sub surface scattering (под-поверхностное рассеивание) это ответвление radiosity, но в отличии от него учитывает информацию о материале из которого "сделана" 3D модель (например, из мрамора, древесины, кожи и т.д). Различные материалы отражают свет по разному. Если вы смотрите на лист в солнечный день и поставите под него руку то увидите сквозь лист её очертания. Этот эффект называется полупрозрачностью, в отличии от прозрачности при которой вещи видны насквозь полностью. Полупрозрачность иллюстрируется на таких материалах как кожа, молоко, листья, кусочек бумаги, на тонкой занавеске и др.

Теперь, с типичным рендерером свет влияет материалы в общем то тем же самым способом. У Вас, вероятно, есть средство управления зеркальностью и диффузией, но это не то. Это означает, что прожектор на 3D руку будет влиять так же как и, например, на деревянную 3D доску (так как значения зеркального и диффузного отражения одинаковы). Sub surface scattering принимает во внимание полупрозрачность материала и (используя radiosity) отражает назад нужные световые лучи в правильном направлении.

Но различные материалы поглощаю свет по разному (вздох, другое осложнение). И что, черт возьми, свет делает, когда попадает, скажем, на кожу? Хорошо, в зависимости от материала, он отражается и рассеивается, а затем покидает материал. Это - то, как мы получаем солнечный загар (или в моем случае, загар рубашки). Не взирая ни на что, в попытке описать это поведение света, было сформулировано огромное множество уравнений с ужасно выглядящими переменными и греческими символами.

Это то место где появляются BRDF и BSSRDF. BRDF расшифровывается как Bidirectional Reflectance Distribution Function (Двунаправленная Функция Отражения и Распределения). Звучит интригующе, нет? Тогда вернитесь к заглавию и попробуйте определить, можем ли мы понимать, что это такое только по имеющимся у нас сведениям. Двунаправленная - значит 2 пути. Мы можем предположить что это означает направления (входящее и выходящее) частного светового луча при попадании в материал и при его покидании. Отражательная способность - хмм: я вижу здесь "отражение" и из описанного выше radiosity, можно сделать вывод, что здесь говорится о качестве отражения световых лучей (отражение значит отскок света назад). Функция Распределения - это только претенциозно звучащие слова что бы сказать "уравнение". BRDF это, в основном, стандартная реализация в большинстве сегодняшних движков рендеринга. Он нерасточительный (касательно циклов CPU) и выдает довольно реалистичные результаты.

Так, а что же такое BSSRDF? Расшифровывается как Bidirectional Surface Scattering Distribution Function (Двунаправленная Функция Поверхностного Рассеивания и Распределения). Эта функция это намного более аккуратный способ описания путей входа и выхода света из материала. BSSRDF может описать перемещение света между любыми двумя лучами которые попадают на поверхность, тогда как BRDF предполагает что свет входит и выходит из материала в одной и той же точке. Подумайте вот об этом: Сделаем вид что мы сходим в дом BSSRDF и поплаваем его фантастическом, размером с Олимпийский, бассейне. Так как мы находимся в сфере влияния BSSRDF, мы можем нырнуть поглубже, затем поплавать вокруг и в конце концов вылезти на мелководье. С другой стороны, если мы находимся в бассейне BRDF, то, если мы прыгнули в воду с вышки, то и выходить из воды должны тоже через вышку. Звучит глупо, да? Хорошо, в этом приложении это так. Но в компьютерном графическом рендеринге различия между BSSRDF и BRDF могут быть как большими так и малыми. Если мы, например, рендерим машину, то различия могут быть незначительны. Но когда мы рендерим что-то содержащее полупрозрачность (например кожу, молоко, листья, ткань и др.) то результат будет совершенно неверным. Конечно, вы можете включить radiosity, мягкие тени и прочее, но результат всё равно будет неверным.


BRDF против BSSRDF

Так что же такое "sub surface scattering"? Это эффект когда свет входит в материал под определенным углом, а покидает в совершенно ином месте и под иным углом. Всё просто, неправда ли? Но принимая во внимание все то, что мы узнали к этому времени, легко заметить почему настолько желательно достигнуть точности в выражении. Уже проделана огромная работа (Паулем Дебевеком, Университетами Cornell, Brown и Stanford и другими) для восстановления точного уравнения.


Преимущества под-поверхностного рассеивания

Теперь некоторые из Вас могут подумать: "Эй, да эта штука "под-поверхностное рассеивание" не такая уж и сложная!", а другие "Когда этот парень перестанет слоняться?". И тем не менее другие могли бы задаваться вопросом: "Эй, да это "под-поверхностное рассеивание" выглядит подобно преломлению". И эти люди будут в чем-то правы. "Sub surface scattering" это когда свет отскакивает внутри материала и выходит из другой точки. Преломление не имеет никакого отношения к световым лучам, которые оставляют поверхность. Скорее, этот эффект относится к свету, который проходит через материал. Это - свет, который "согнут" и заставляет карандаши казаться согнутым в стакане воды или заставляет вашу ногу казаться согнутой в водоеме. Так что это - то, чем под-поверхностное рассеивание отличается от преломления.


Преломление

Хорошо, ели вы добрались так далеко, то, надеюсь, вы уже лучше понимаете что такое под-поверхностное рассеивание и как оно влияет на рендеринг. Я ни в коем случае не эксперт по этому предмету. Я только думал, что смогу помочь другим понять это явление, как его понимаю я.. Пожалуйста не стесняйтесь посылать мне электронную почту с исправлениями или вопросами.

Ссылки по теме:
A plethora of technical links about everything from lighting to water simulations.
A Practical Model for Subsurface Light Transport by folks at Stanford University.
Monte Carlo Evaluation of Non-Linear Scattering Equations for Subsurface Reflection by the good folks at Stanford.
FinalRender - the first render engine to feature sub surface scattering.

Источник: CG Focus

 

Архив статей

 май   Июнь 2019   июл

ВПВСЧПС
   1
  2  3  4  5  6  7  8
  9101112131415
16171819202122
23242526272829
30 
Julianna Walker Willis Technology

Случайная новость

Некоторые инструменты 3D-компрессии коммерчески уже доступны сейчас, включая стандарт сжатия Java3D, HotMedia компании IBM, основанный на их стандарте MPEG4/Topological, программное обеспечения сжатия Virtue3D, и методы, заключенные в программных продуктах Intel и DirectX компании Microsoft. Однако, говорит Кинг, - "3D-компрессия остается открытой областью исследований, потому как множество 3D-моделей являются слишком большими, что бы эффективно использовать их с современными методами в настоящее время, и потому что никто пока не знает - насколько могут быть улучшены методы 3D-компрессии."

Продолжающиеся исследования в области 3D-сжатия сфокусированы на методиках, заложенных и в аппаратных средствах и в программном обеспечении. Цель методов, закладываемых в аппаратных средствах, состоит в том, что бы ускорить передачу 3D-данных с CPU на графический процессор. Со стороны же программного обеспечения задача состоит в том, что бы обеспечить компактность хранения этой информации и ее передачи по сети.

В связи с тем, что новые технологии в программном обеспечении разрабатываются на основе существующих аппаратных средств, ожидается, что они будут иметь большее влияние в коммерческих приложениях.

Существующие методы 3D-компрессии, основанные на применении программного обеспечения, можно отнести к одной из трех категорий: технологии, основанной на обработке каркаса модели, которая использует структуру каркаса объекта для уменьшения количества бит, необходимых для воспроизведения связей между точками и полигонами при попытке воссоздания первоначальной геометрии; методы прогрессивного сжатия, которые используют алгоритмы упрощения для генерации иерархии уровней детализации, изменяющихся от грубой к точной передаче первоначальной геометрии; техника, основанная на обработке изображения, которая больше кодирует набор изображений, чем сам объект.

Выгоды каждого из указанных подходов уравновешиваются некоторыми их недостатками. Например, методы, основанные на обработке каркаса, которые используются в таких пакетах как Java3D и Virtue3D, могут уменьшать размер файла почти для всех полигональных моделей, и как только этот файл достигает места назначения, он готов к использованию. Этот подход самый быстрый и самый эффективный в отношении скорости передачи данных, если пользователь заранее знает уровень детализации, необходимый ему в конце.

"Методы, основанные на обработке каркаса наиболее эффективны для приложений, которые больше нуждаются в устойчивости, чем в гибкости", - говорит Кинг. "Например, инженеры и рентгенологи совместно используя 3D-модели основывают свои суждения на основе оригинальных данных без потерь, или дилеры автомобилей и художники, представляющие свои вещи в Интернет, могут захотеть иметь возможность выбора некоторым пользователем уровня более низкой или более высокой детализации представления своей продукции".

Методы, основанные на обработке каркаса, к сожалению, не могут адаптироваться к полосе пропускания сети, в связи с тем, что их окончательный результат - изображения с одним разрешением. Таким образом, этот метод становится все менее и менее эффективным с ростом объема геометрии.

С другой стороны, прогрессивные методы поддерживают многократные уровни детализации, что делает их более привлекательным при работе с большими моделями. Невысокая аппроксимация модели доступна сразу, с последующим увеличением информации о деталях. Этот подход так же полезен для приложений, в которых требуется многократность уровней детализации, в таких как "виртуальная прогулка", где отображаемое разрешение увеличивается или уменьшается в зависимости от близости навигатора к данному объекту.

С обратной стороны, прогрессивные методы имеют тенденцию к замедлению, потому как исходная модель забирает времени больше для реконструкции, это требует вычисления прогрессивной иерархии для полной модели наперед. Кроме того, хоть и пользователь может получить приблизительную визуальную аппроксимацию модели немедленно, "настоящая" модель еще не доступна к применению.

Что касается коммерческой стороны, Intel развили библиотеку программного обеспечения прогрессивной компрессии, которую кампания лицензирует продавцам программных продуктов. Macromedia - одна из первых компаний, имеющих лицензию на технологии Intel - включила поддержку 3D в свой плеер Shockwave.

Количество прогрессивных алгоритмов сжатия в настоящее время по-прежнему развивается и тестируется в исследовательском сообществе. Наиболее многообещающее предложение - технология wavelet, разработанная Суиденсом и Шродером, которые достигли существенных достижений по эффективности, предварительно опубликовав методы 3D-сжатия. Техника в настоящее время усовершенствуется, и оценивается ее коммерческая жизнеспособность, согласно Bell Labs.

Наконец, методы, основанные на обработке изображений, наподобие тех, что используются в QuickTime VR и IPIX, имеют преимущество - способность к управлению имеющейся инфраструктурой сжатых данных, потому как они используют 2-мерные фотографические данные. До настоящего времени, работа над этим методом была ограничена специализированными применениями, такими как программы "прогулки по реальному окружению" и программное обеспечение для просмотра наборов данных MRI. В то время, как этот подход не может быть полезен в приложениях, требующих фактическую геометрию, типа производственного процесса, говорит Кинг, - "есть перспектива его применения в таких приложениях, где высокое качество изображения важнее использования точной геометрии."

Перед тем, как 3D-компрессия в любом виде сможет быть встроена в самые последние или уже выпускаемые приложения, придется встретить большое количество проблем. Первая среди них - теоретическое препятствие. "Усовершенствования в области скорости передачи данных продолжают развиваться, так что никто действительно не знает - насколько возможен этот показатель, и к чему, в связи с этим, мы должны стремиться," - говорит Кинг. "Когда одномерная (звук) и двумерная компрессия была в стадии разработки, люди уже тогда имели доступ к хорошей теоретической информации об одномерных и двумерных сигналах. Они уже знали - какова максимально возможная степень сжатия может быть достигнута, и они знали - с какими проблемами они встретятся. Мы же не имеем такой информации для 3D".

Один размер должен соответствовать всему

С практической стороны некоторые проблемы масштабируемости остаются нерешенными. "Мы нуждаемся в таких форматах сжатия геометрии, которые бы гибко могли приспосабливаться к доступной полосе пропускания сетей," - говорит Суиденс. "Должна быть возможность приспособленности передачи одного отформатированного файла по широким магистралям (магистральные линии Интернет, корпоративные связи T1, высокоскоростные домашние сети) и узким (стандартные модемы, проводные сети, телефонные ячейки), и каждый пользователь должен иметь возможность получить аппроксимацию изначальной модели с наилучшим качеством не зависимо от полосы пропускания доступной ему сети."

Кроме того, схема сжатия должна быть масштабируема относительно недостатков оснащения конечного пользователя. В этом отношении данный отдельный формат должен одинаково подходить и для устройств с небольшими вычислительными и графическими мощностями, и для мощных CPU и графических аппаратных средств.

"Провайдер 3D-услуг не должен волноваться о процессе декодирования на месте потребления его продукции", - говорит Суденс. Например, в сетевой игре "содержание должно отображаться оптимально для всего диапазона систем начиная от машин типа PS2, и заканчивая последними компьютерами, или даже портативными устройствами для сетевых игр".

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

Другой вопрос, требующий внимания - компрессия текстурированных объектов. "В настоящее время модели и координаты текстур сжимаются с использованием методики 3D-компрессии, а изображения сжимаются независимо, используя технику 2D-сжатия. "Вполне привычно видеть модель, в которой сжатая геометрия больше чем в десять раз превышает сжатые изображения", - говорит Габриэл Таубин из IBM Research, один из разработчиков стандарта MPEG-4 и связанных методов 3D-сжатия, которые включают в себя прогрессивные алгоритмы и алгоритмы одиночного разрешения. В идеале, как он предлагает, должно быть хорошее равновесие между сжатием каркаса и компрессией координат текстур, цветов, и других атрибутов.

Среди наиболее отпугивающих технических трудностей сжатия - мысль об обработке динамических сцен. "Большинство предложенных методов сжатия пока что имеют дело со статическими объектами", - говорит Таубин. "Это связано с проблемой развития эффективных методов сжатия для анимации, и специфики этих сложных сцен, где объекты появляются и исчезают, и могут деформироваться со временем, при этом изменяя не только свою геометрию, но и свою топологию." Фактически, утверждает он, одно из наиболее выгодных применений 3D-компрессии - это ее использование в технике сжатия видео, что позволит непрерывно передавать большой объем 3D-данных через Интернет, и в телевизионных приложениях.

далее