Лишь о 3D мечтая… часть I продолжение

Fillrate (Скорость заполнения). Основная мера скорости текстурирования, измеряемая в пикселах в секунду. Скорость заполнения является очень важной величиной, и именно ее указывают как основную характеристику 3D-чипсета. Скорость заполнения 100 млн пикселов/сек означает, что 3D-ускоритель может обработать 100 млн пикселов в секунду, накладывая на них текстуры.

Interpolation (Интерполяция). Математический способ восстановления отсутствующей информации. Например, необходимо увеличить размер изображения в 2 раза, со 100 пикселов до 200. Недостающие пикселы генерируются с помощью интерполяции пикселов, соседних с тем, который необходимо восстановить. После восстановления всех недостающих пикселов получается 200 пикселов вместо 100 существовавших, и таким образом, изображение увеличилось вдвое.

Interactive (Интерактивность). Этим термином описывается поведение прикладной программы, с помощью которой пользователь может влиять на результат деятельности приложения, имея возможность немедленно добавить, изменить или удалить получающийся результат.

Lighting (Освещение). Существуют разные методы, использующие реалистичные графические эффекты, для отображения 3D объектов на двумерном дисплее. Один из них - освещение. Используются разные уровни яркости (светло-темно) при отображении объекта для придания ему объема.

Line anti-aliasing (Линейный антиалиасинг). Механизм борьбы с лестничным эффектом. Линейный антиалиасинг сглаживает диагональные линии.

Line Buffer (Линейный буфер). Буфер памяти, используемый для хранения одной линии видеоизображения. Если горизонтальное разрешение дисплея установлено равным 640 и для кодирования цвета используется схема RGB, то линейный буфер будет иметь размер 640х3 байт. Линейный буфер обычно используется в алгоритмах фильтров.

MIP Mapping (mip-текстурирование). MIP означает "многое в одном" (lat. "Multum In Parvum"). Метод улучшения качества текстурных изображений при помощи использования текстур с разным разрешением для различных объектов одного и того же изображения, в зависимости от их размера и глубины. Таким образом в памяти хранятся несколько копий текстурированного изображения в различных разрешениях. В результате этого изображение остается качественным при приближении к объекту и при удалении от него. При использовании этого метода Вы увидите изображение в высоком разрешении, находясь близко от объекта, и изображение в низком разрешении при удалении от объекта. MIP Mapping снижает мерцание и "зашумленность" изображения, возникающие при texture mapping. Mip mapping использует некоторые умные методы для упаковки данных о текстурах изображения в памяти. Чтобы использовать Mip mapping, необходимо, взяв все размеры текстур и умножив это число на два, построить одну карту наибольшего размера. Все карты меньшего размера обычно фильтруются и становятся усредненными и уменьшенными версиями самой большой карты.

Побочным эффектом mip-mapping'a является banding - разрывы между mip-уровнями (текстурами с различным разрешением). К тому же теряется резкость текстур.

Multitexturing (Мультитекстурирование). Метод рендеринга с использованием нескольких текстур за минимальное число проходов. Текстуры накладываются на объект последовательно, с использованием разного рода арифметических операций: add (сложение), modulate (умножение), substractive (вычитание) и др. Мультитекстурирование позволяет конвейеризировать наложение текстур с использованием нескольких (обычно двух) блоков текстурирования. Операции наложения тумана и альфа-смешения с фрейм-буфером не относятся к мультитекстурированию и выполняются после всех стадий.

Occlusion. Эффект перекрытия в трехмерном пространстве одного объекта другим.

Palletized Texture. Формат хранения текстур в сжатом виде (1-, 2-, 4- и 8-битный формат вместо 24-битного). Обеспечивает возможность хранения большего числа текстур в меньшем объеме памяти.

Parallel point. Световой источник, который освещает равномерно все объекты параллельным пучком света.

Perspective Correction (Коррекция перспективы). Один из способов создания реалистичных объектов. Рассматриваются величины Z (глубина) при разделении объекта на многоугольники. При создании современных игр разработчики обычно используют довольно большого размера треугольники для описания поверхности объекта и текстурные карты для более точного и детального изображения. Без этого качество картинки было бы гораздо хуже.

Если 3D объект движется от наблюдателя, то уменьшаются его линейные размеры (высота и ширина). Без использования функции perspective correction объект будет дергаться и двигаться нереалистично. С каждым уровнем скорректированной перспективы происходят изменения на пиксел, в зависимости от глубины. Так как при этом происходит деление на пикселы, то требуются очень интенсивные вычисления.

Pixel (Пиксел). Комбинированный термин, обозначающий элемент изображения, являющийся наименьшим элементом экрана монитора. Другое название - pel. Изображение на экране состоит из сотен тысяч пикселов, объединенных для формирования изображения. Пиксел является минимальным сегментом растровой строки, которая дискретно управляется системой, образующей изображение. С другой стороны, это координата, используемая для определения горизонтальной пространственной позиции пиксела в пределах изображения. Пикселы на мониторе - это светящиеся точки яркого фосфора, являющиеся минимальным элементом цифрового изображения. Размер пиксела не может быть меньше точки, которую монитор может образовать. На цветном мониторе точки состоят из групп триад. Триады формируются тремя различными фосфорами: красным, зеленым и синим. Фосфоры располагаются вдоль сторон друг друга. Пикселы могут отличаться размерами и формой, в зависимости от монитора и графического режима. Количество точек на экране определяется физическим соотношением ширины к высоте трубки.

Pixel blending. Метод смешивания цветов текущего пиксела и пиксела, находящегося уже в буфере кадра, для получения выходного пиксела.

Phong Shading (затенение Фонга). Наиболее эффективный из всех известных методов затенения, позволяющий получить реалистичное освещение. Прекрасная реалистичность достигается за счет вычисления объема освещения для каждой точки, вместо множества многоугольников. Каждый пиксел получает свой собственный цвет на основе модели освещения, направленного на этот пиксел. Этот метод требует более интенсивных вычислений, чем метод Гуро.

Point. Световой источник, который светит одинаково во всех направлениях из одной точки (например, лампочка в комнате).

Point sampling. Самый простой метод фильтрации текстур. Для определения цвета конечного пиксела используется цвет одного (самого близкого) тексела. Результатом point sampling является пикселизация (гранулированность) изображения.

Procedural Texturing techniques (программное текстурирование). Метод наложения реалистичных текстур на "лету", т.е. путем математических аппроксимаций структуры таких материалов, как дерево, мрамор, камень и др.

До последнего времени Procedural Texturing редко использовалось как в программных, так и акселерированных игровых и других движках реального времени. В первом случае ввиду того, что подобные вычисления требуют колоссальных мощностей математического сопроцессора для приемлемой скорости рендеринга, а во втором случае потому, что "шумовые" алгоритмы Перлина, которые используются для генерации таких текстур, не стандартны и имеют много вариаций. Более того, процесс генерации текстур различных по типу требует различных схемных подходов, в то время как традиционное наложение текстур требует одинакового схемного решения для загрузки любого изображения. После появления на свет технологии MMX от Intel ситуация изменилась, и уже существуют разработки программной реализации "шума" Перлина на основе этой технологии, которые позволяют накладывать текстуры на лету, со скоростью сравнимой с простым текстурированием.

Projection. Процесс преобразования трех размерностей в две. Т.е. преобразование видимой части 3D объекта для отображения на двумерном дисплее.

Rasterization (Растеризация). Разделение объекта на пикселы.

RGB. Система цветообразования, в которой конечный цвет получается за счет смешения, с различной интенсивностью, трех основных цветов: красного (Red), зеленого (Green) и синего (Blue). Самое известное устройство, которое использует систему RGB, это цветной монитор.

Ray Tracing ("Трассировка лучей"). Один из самых сложных и качественных методов построения реалистических изображений. Наиболее распространен вариант "обратной трассировки лучей": от глаза наблюдателя, через пиксел строящегося изображения, проводят луч и, учитывая все его отражения от объектов, вычисляют цвет этого пиксела.

Real-time. Режим реального времени. При этом имитируемые события происходят так же, как и в реальной жизни. Для достижения этого используется синхронизация со встроенным таймером компьютера.

Rendering (Рендеринг). Процесс создания реалистичных изображений на экране, использующий математические модели и формулы для добавления цвета, тени и т.д.

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

Rendering Engine. Дословно - устройство рендеринга. Часть графической системы, которая рисует 3D-примитивы, такие как треугольники или другие простые многоугольники. Практически во всех реализациях системы rendering engine отвечает за интерполяцию краев (границ) объектов и заполнение пикселами многоугольников.

Resolution (Разрешение). Количество пикселов, представленное битами в видеопамяти, или адресуемое разрешение. Видеопамять может организовываться соотношением пикселов (битов) по оси x (пикселы на строке) к числу пикселов по оси y (столбцы) и к размеру отводимой памяти на представление глубины цвета. Стандартная видеопамять VGA 640 пикселов на 480 пикселов и, обычно, с глубиной представления цвета 8 бит. Чем выше разрешение, тем более детально изображение, тем больше нужно хранить о нем информации. Но не вся хранимая информация может быть отображена на дисплее.

Scissors Clip (Scissoring). Устанавливается положение контрольного пиксела относительно вырезаемых многоугольников, и многоугольник отбрасывается, если он находится вне отображаемой зоны. Т.е. сокращаются размеры буфера кадра за счет вырезания "ненужных" многоугольников.

Set-up Engine. Позволяет драйверам передавать многоугольники в rendering engine в виде информации об адресах их вершинах, в то время как обычно информация предварительно обрабатывается центральным процессором и передается в терминах изменения (дельт) границ, цвета и текстуры. Таким образом, set-up engine переносит обработку соответствующих данных с центрального процессора на графический чипсет, сокращая таким образом требования к скорости шины на 30% для обработки маленьких, случайно расположенных треугольников, и на пропорционально большее значение для больших многоугольников.

Span. В растровой графике примитивы формируются с помощью преобразования линий развертки, каждая из которых пересекает примитив в двух точках (Р-левая и Р-правая). Последовательность пикселов на линии, расположенная между этими двумя точками, называется span. Каждый пиксел внутри span содержит значения величин z, R, G, B.

Specular highlight (блики). Имитация прямого отражения источника света. При простом наложении текстур могут возникать некоторые дефекты в изображении: когда камера (наблюдатель) близко приближается к объекту, то текселы становятся больше, чем пикселы (один тексел заполняет собой несколько пикселов), проявляется эффект пикселизации (блочности) изображения; если текстура находится на большом расстоянии от наблюдателя и текселы становятся меньше пикселов (на один пиксел "претендуют" несколько текселов текстуры), то проявляется эффект муара (ряби), т.к. в одном и том же пикселе все время рисуются разные тексели. Для устранения первой проблемы используется linear filtering, для ликвидации второй - mip-mapping (включая trilinear filtering) и anisotropic filtering.

Spot. Световой источник, похожий на точечный. Он светит не во всех направлениях, а в пределах некого конуса. Освещаются только объекты, попадающие в этот конус.

Stencil Buffer (Трафарет). Позволяет производить рисование "по трафарету", то есть оставлять часть картинки неизменной. Применяется для создания спецэффектов.

Stippling. Создание контурных изображений, т.е. "рисование пунктиром".

Tessellation. Процесс деления изображения на более мелкие формы. Для описания характера поверхности объекта она делится на всевозможные многоугольники. Наиболее часто при отображении графических объектов используется деление на треугольники и четырехугольники, так как они легче всего обсчитываются и ими легко манипулировать.

Texel (Тексел). Элемент текстуры - определенный пиксел в текстуре.

Texture (Текстура). Двумерное изображение, хранящееся в памяти компьютера или графического акселератора в одном из пиксельных форматов. В случае хранения в сжатом виде на дисках компьютера, текстура может представлять собой обычный бит-мап, который мы привыкли видеть в форматах bmp, jpg, gif и т.д. Перед использованием текстура разворачивается в памяти и может занимать объем в десятки раз больше первоначального размера. Существует порядка двух десятков более или менее стандартизированных пиксельных форматов текстур.

Texture Anti-aliasing. Удаление нежелательных искажений растровых изображений с помощью интерполяции текстурных изображений.

Texturing (Текстурирование). Основной метод моделирования поверхностей наложением на них изображений, называемых текстурами.

Texture Mapping (Натяжение текстур). На объект "натягивается" текстурное изображение для создания реалистичного представления объекта в трехмерном пространстве. Поскольку для ее хранения требуется значительное место, а для натяжения - серьезные вычислительные ресурсы, желательно, чтобы операция выполнялась аппаратно. Такая возможность определяется используемым в видеокарте чипсетом, а также объемом видеопамяти. Поскольку может понадобиться как увеличение, так и уменьшение исходной картинки, используют линейную интерполяцию и MIP-mapping.

Transformation. Изменение координат. Последовательность математических операций над выходными графическими примитивами и геометрическими атрибутами для преобразования их из расчетных координат в системные координаты.

Transparency (Прозрачность). В компьютерной графике цвет часто описывается в терминах RGB величин или величинами красного, зеленого и синего цвета. Существует еще коэффициент Alpha (альфа), являющийся дополнительным компонентом цвета, который используется для смешения. Коэффициент Alpha может также использоваться в качестве величины, отвечающей за степень прозрачности, т.е. величины, определяющей, можно видеть сквозь цвет или нет. Наиболее важное значение коэффициент Alpha, или прозрачность, имеет в 3D графике, благодаря его использованию для создания нерегулярных объектов, применяя для этого лишь несколько многоугольников.

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

Triangle throughput (Скорость обработки). Другая характеристика 3D-чипсета, показывающая скорость блока подготовки треугольников (triangle setup). Скорость обработки 1 млн треугольников/сек означает, что 3D-ускоритель может обработать 1 млн треугольников в секунду.

Trilinear Filtering (Trilinear MIP Mapping, трилинейная фильтрация). Метод уменьшения искажений в картах текстур, использующий билинейную фильтрацию для четырех текстурных пикселов из двух ближайших MIP-карт и их дальнейшую интерполяцию.

Для получения изображения берется взвешенное среднее значение результатов двух уровней билинейной фильтрации. Полученное изображение более четкое и менее мерцающее.

Текстуры, с помощью которых формируется поверхность объекта, изменяют свой вид в зависимости от изменения расстояния от объекта до положения глаз зрителя. При движущемся изображении, например, по мере того, как объект удаляется от зрителя, карты текстур должны уменьшаться в размерах вместе с уменьшением размера отображаемого объекта. Для того чтобы выполнить это преобразование, графический процессор фильтрует карты текстур вплоть до соответствующего размера для покрытия поверхности объекта, при этом изображение остается естественным, т.е. объект не деформируется непредвиденным образом. Для того чтобы избежать таких непредвиденных изменений, большинство графических программ создают серии предфильтрованных карт текстур с уменьшенным разрешением, этот процесс называется mip mapping. Затем, графическая программа автоматически определяет, какую карту текстур использовать, основываясь на деталях карты текстур изображения, которое уже выведено на экран. Соответсвенно, если объект уменьшается в размерах, размер карты текстур тоже уменьшается.

Существуют и другие методы фильтрации, при которых используется интерполяция mip-уровней, но только при trilineaк filtering фильтруются и mip-уровни (mipmap interpolation) и тексели (bilinear filtering).

Единственный недостаток trilinear filtering - потеря резкости текстур.

True color. Цвет с глубиной представления 24 или 32 бит.

Vertex. Точка в трехмерном пространстве, где соединяются несколько линий.

Z-buffer (z-буфер). Часть графической памяти, в которой хранятся расстояния от точки наблюдения до каждого пиксела (значения z). Z-buffer определяет, какая из многих перекрывающихся точек наиболее близка к плоскости наблюдения.

Как большее число битов на пиксел для цвета в буфере кадра соответствует большему количеству цветов, доступных в системе изображения, так и количество бит на пиксел в z-буфере соответствует большему числу элементов. Обычно, z-буфер имеет не менее 16 бит на пиксел для представления глубины цвета. Аппаратные акселераторы 3D-графики могут иметь собственный z-буфер на графической карте, чтобы избежать удвоенной нагрузки на системную шину при передаче данных. Некоторые рализации z-buffer используют для хранения не целочисленное значение глубины, а значение с плавающей запятой от 0 до 1.

Z-buffering (z-буферизация). Процесс удаления скрытых поверхностей, использующий значения глубины, хранящиеся в Z-буфере. Перед отображением нового кадра буфер очищается, и значения величин z устанавливаются равными бесконечности. При рендеринге объекта устанавливаются значения z для каждого пиксела: чем ближе расположен пиксел, тем меньше значение величины z. Для каждого нового пиксела значение глубины сравнивается со значением, хранящимся в буфере, и пиксел записывается в кадр, только если величина глубины меньше сохраненного значения.

Z-sorting. Процесс удаления невидимых поверхностей с помощью сортировки многоугольников в порядке низ-верх, предшествующий рендерингу. Таким образом, при рендеринге верхние поверхности обрабатываются последними. Результаты рендеринга получаются верными, только если объекты не близки и не пересекаются. Преимуществом этого метода является отсутствие необходимости хранения значений глубины. Недостатком является высокая загрузка процессора и ограничение на пересекающиеся объекты.

Подготовил Антон Клыга


Компьютерная газета. Статья была опубликована в номере 22 за 2000 год в рубрике hard :: video

©1997-2024 Компьютерная газета