Алгоритм - Учебный центр

Версия сайта для слабовидящих
Заполните форму ниже! Мы вам перезвоним!

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


Технологии повышения качества визуализации трехмерных объектов.

Технологии повышения качества визуализации трехмерных объектов.

Трилинейная фильтрация.

                Трилинейная фильтрация (frii-linear filtering  -  более сложный метод текстурирования, при котором кроме интерполяции текстуры выполняется интерполяция между уровнями детализации текстуры). Это метод реализуется комбинацией билинейной фильтрации и так называемого наложения mip mapping (текстуры, имеющие разную степень детализации в зави­симости от расстояния до точки наблюдения, причем при отображении уда­ляющихся объектов уменьшается насыщенность, яркость цветов текстуры, степень ее детализации и увеличивается скорость ее обработки). При трилинейной фильтрации берутся две соседние текстуры, одна из которых содержит текселы, попадаю­щие в проекцию, а другая является бли­жайшей к ней по удаленности, и к каж­дой применяют билинейную фильтра­цию. В итоге аппроксимация проводится уже по восьми текселам и результат выглядит ближе к реальности, так как текстуры заранее обсчитаны для опре­деленных расстояний. Однако и к про­пускной способности памяти требова­ния в восемь раз выше, чем при пото­чечной фильтрации. Важной операцией в визуализации трехмерных объектов является рисование мно­гоугольника, так обычно представляются движущиеся объекты. Текстуры на многоугольниках придают объекту более реалистичный вид, сохраняя преимущества быстрого рисования трехмер­ных изображений. Рисование многоугольника напоминает процесс наложения текстурных карт на каркасные структуры, хотя и требует большей производительности. Сетка, покрывающая поверх­ность в трехмерном пространстве, в большинстве случаев составлена из треугольников, что сни­жает сложность программного (или аппаратного) обеспечения для вывода объекта на экран. Изме­няя размер треугольников, можно управлять степенью детализации объектов. Использование трилинейной фильтрации значительно замедляет работу 3D-ускорителей, но формирует более качественное изображение, чем обычная билинейная  с мипмэппингом.

Анизотропная фильтрация.

Анизотропная фильтрация, используемая в некоторых видеоадаптерах, позволяет сделать сцену еще более реалистичной. Анизотропная фильтрация на се­годняшний день считается одной из лучших технологий отображения тек­стур. Существуют различные алгорит­мы анизотропной фильтрации, суть которых в возможно более точном уче­те формы проекции при различном положении текстурированного поли­гона по отношению к проецируемой плоскости. То есть, вокруг центра про­екции строится виртуальный куб из наложенных друг на друга текселов текстур разного уровня детализации, которые теоретически пересекает про­екция. Внутри куба плоскость проек­ции может располагаться как угодно  -  в идеале будут учтены все точки, попа­дающие в проекцию. В зависимости от размера грани куба может быть обсчи­тано от 8 до 32 текселов для определе­ния цвета единственного пиксела. Ре­зультат действительно близок к фото­реалистичному, но и задействованные ресурсы велики. Поэтому технология анизотропной фильтрации аппаратно реализована только в относительно дорогих ускорителях.

Билинейная фильтрация.

                Билинейная фильтрация(bi-linear filtering - метод текстурирования, при котором выполняется интерполяция текстуры). Улучшение качества изображения небольших текстур, помещенных на большие многоугольники (достигается так называемая “размазанность текстур”). Эта технология устраняет эффект "блочности" текстур.

Наложение рельефа методом embossing.

Широко распространенным мето­дом наложения карт рельефа является так называемое диффузное смешение (embossing - тиснение). Суть его зак­лючается в следующем. Берется карта высот, и на ее основе строится инвер­тированная (обратная) копия. Далее карте рельефа присваиваются коорди­наты (х,у) вершины полигона, на кото­рый накладываются текстуры. Из вер­шины на плоскость полигона строит­ся единичный вектор, направленный на источник света. Затем он умножает­ся на некоторое число, а итоговый век­тор служит для смещения относитель­но карты рельефа координат инверти­рованной копии. Затем обе карты сум­мируются. Важным в данном методе является подбор числа, на которое ум­ножается единичный вектор света, так как величина смещения инвертиро­ванной карты высот не должна приво­дить к нежелательным эффектам. При недостаточном смещении эффект на­ложения высот не заметен, при излиш­нем смещении изображение двоится и размывается. Таким образом, если к базовой тек­стурной карте попеременно приме­нять разные карты высот или одну кар­ту, но со смещением на каждом после­дующем шаге, то мы получим динами­ческую картину изменения освещен­ности объекта. Очевидно, что в этом случае термины «наложение рельефа» и «расчет освещенности» по физичес­кому смыслу являются синонимами. Для реализации технологии наложе­ния рельефа требуется обработать три текстурных карты: базовую, рельефа и инвертированную. Обработка инвертированной карты представляет собой весьма трудоемкую вычислительную задачу (для получения полноценного преобразования требуется три прохода конвейера блока рендеринга, но если в видеоакселераторе реализованы два конвейера, способные работать параллельно, то потребуется два прохода).  В итоге получается при больших вычислительных затратах изображение среднего качества.

Наложение рельефа методом Dot Product.

Важным свойством трехмерных тек­стур является способность реалистич­но имитировать материалы с характер­ной внутренней структурой. Напри­мер, для моделирования деревянной конструкции достаточно создать ее по­лигональную модель, затем разрабо­тать трехмерную текстуру, имитирую­щую рисунок деревянной поверхнос­ти, и присвоить ее полигонам. Забо­титься о рисовании текстур для каждого полигона и о «сшивании» их на гра­ницах уже нет необходимости. Помимо этого трехмерные текстуры позволяют реалистично имитировать спецэффекты и природные явления и даже движение тел. На самом деле, если поместить полигон последовательно, с заданным сдвигом, в трехмерную тек­стуру и также последовательно его ото­бражать, меняя только одну координа­ту, получится эффект анимации. Подобным образом можно имитиро­вать огонь, блики на поверхности воды и металлов, множество других эффек­тов. Особое место занимает возмож­ность правдоподобной имитации объ­емных эффектов: дыма, взрывов, ло­кального тумана достаточно простыми способами, по сравнению с технологи­ей систем частиц.

Наложение рельефа методом 3D карт среды.

                Рельефное текстурирование или наложение рельефа (bump-mapping - методика наложения рельефных поверхностей) -  это технология предназначенная для воспроизведения специальных световых эффектов, таких как водная рябь, камни и другие сложные по­верхности. Это придает большую реалистичность игровым сценам и ландшафтам. Для того, чтобы подчеркнуть бугорки и впадины с помощью светотени, надо затемнять или осветлять стенки этих бугорков и впадин. Другой метод заключается в симуляции рельефности глянцевой или зеркальной поверхности отражением окружающей среды. Технология Bump mapping призвана повы­сить реализм моделей путем примене­ния помимо текстурной карты допол­нительной карты высот (карты релье­фа). Сами по себе обработанные по данной технологии полигоны (треугольники) остаются плоскими. Карта высот содержит лишь двухмерный массив данных, где макси­мальное значение числа означает наи­большую относительную высоту. В от­личие от географических карт, где воз­можны отрицательные значения высот (так как за точку отсчета принят уро­вень моря), карта рельефа в компью­терной графике содержит только по­ложительные числа. Количество града­ций высот зависит от замысла разра­ботчика. 

                ЕМВМ (Environment Map Bump Mapping) - наложение рельефа картой окружающей среды. Карта окружающей среды (иногда ее называют картой отражения) слу­жит для отражения в объекте свойств окружающего пространства. Карты от­ражения либо создаются заранее, во время разработки игры (обычно ис­пользуются сферические карты сре­ды), либо в ходе построения трехмер­ной сцены (кубические карты среды).

                Визуальные свойства карт окружаю­щей среды можно сделать зависимыми от направления линии визирования (что соответствует правилам физической оптики). С целью ускорения обработки трехмерной сцены раз­работчики иногда не предусматривают изменения карты среды в зависимости от направления линии ви­зирования. Более качественным является метод создания куби­ческих карт окружающей среды в ходе построения трехмерной сцены. По сути дела, для этого необходи­мо предварительно выполнить рендеринг сцены от­носительно объекта, к которому применяется техно­логия ЕМВМ. Затем попиксельное состояние окруже­ния записывается в трехмерную текстурную карту, ко­торая и накладывается на объект. В результате можно добиться качественного изображения эффектов, практически невыполнимых другими способами, на­пример динамического отражения окружения в вод­ной поверхности.

Интерполяция вершин.

                Недостатком технологии наложения рельефа, помимо большого расхода вычислительных ресурсов, считается не слишком качественная по сегод­няшним меркам итоговая сцена. По­этому разработчики пошли дальше и предложили более совершенные мето­ды, в частности -  наложение рельефа методам скалярного произведения.

Метод скалярного произведения ос­нован на так называемой математичес­кой модели света. Она существенно от­личается от физической модели. На­пример, в физической модели интен­сивность света падает обратно пропор­ционально расстоянию его распрост­ранения. В математической модели освещенность с расстоянием не изме­няется. Свет рассматривается как еди­ничный вектор, направленный на ис­точник. Вторым вектором выступает вектор камеры (точки обзора наблюда­теля). Используется также вектор нор­мали, представляющий собой сумму векторов света и камеры, приведенную к единице.

                С помощью указанных векторов вы­числяются значения для диффузного (рассеянного) и зеркального (бликово­го) света. В обычном случае цвет повер­хности рассчитывается как сумма цве­тов диффузного и бликового света для каждой вершины полигона, а затем ин­терполируется по его поверхности. Это приводит к весьма посредственным результатам. Методикой скалярного произведения предусмотрено исполь­зование так называемых «карт возму­щенных нормалей». Для этого берется карта рельефа и рассчитывается значе­ние нормали в каждой точке в локаль­ной системе координат полигона. Ре­зультат записывается как отдельная текстурная карта (функция «возмуще­ния» нормали картой рельефа), кото­рая накладывается путем скалярного произведения на базовую текстуру.

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

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

 


Лицензия