Глоссарий 3D-видеокарт
3D Pipeline (3D конвейер)
Процесс построения
3D-изображения можно разделить на три последовательных этапа. На первом этапе
объект преобразуется в мозаичную модель, т.е. происходит его разделение на
множество многоугольников (полигонов). Следующий этап включает в себя
геометрические преобразования и установки освещения. Наконец, заключительный
этап, так называемый "рендеринг" (rendering), который является
наиболее важным для качества 3D-изображения, создает двумерное изображение из
полученных на предыдущих этапах многоугольников.
Alpha-Blending (альфа-смешение) - создание
полупрозрачных объектов, возможность задать изображению или отдельному пикселю специальный атрибут, определяющий как будет выглядеть
изображение: сплошным (не пропускает свет), невидимым (прозрачным), или
полупрозрачным. Текстура, наносимая на объект, может содержать помимо
информации о цвете (Red,Green,Blue), информацию о прозрачности (Alpha). В
зависимости от величины коэффициента Alpha разные части объекта приобретают
различную степень прозрачности, т.е. при использовании совместно с полигонами,
альфа-смешение позволяет создавать стекло, воду или другие виртуально
прозрачные элементы. Как правило смешивание цветов
перекрываемого объекта и полупрозрачного объекта (с альфа прозрачностью)
происходит по следующей формуле: (alpha) * (значение цвета объекта с
прозрачностью) + (alpha-1) * (значение цвета покрываемого объекта) при
0<=alpha><=1. >.
Alpha Buffer
(Альфа буфер). Дополнительный
буфер, в котором содержится информация о прозрачности, таким образом, пиксел
имеет четырехзначное представление (RGBA), и в 32-разрядном буфере содержится
24 бита информации о цвете, т.е. 8 бит на каждый из цветов (красный, зеленый и
синий), и 8 бит на значение alpha.
Anisotrophic Filtering (анизотропная фильтрация).
Перед чтением узнайте, что такое текстурирование. Анизотропная фильтрация -
самый совершенный тип фильтрации, она фильтрует (или смешивает) данную текстуру,
учитывая три измерения объекта. Остальные способы фильтрации просто усредняют
цвет выводимого пикселя, принимая во внимание цвет исходных пикселей, что
делает картинку или слишком размытой, или слишком резкой.
Анизотропная фильтрация при усреднении принимает во внимание
трехмерную модель объекта, а конкретно нужный полигон. Однако это преимущество
над трилинейной фильтрацией обходится весьма дорого и может
очень сильно замедлить графический процессор. Кстати, Riva TNT была первым 3D
ускорителем, способным выполнять анизотропную фильтрацию.
Anti-aliasing
(сглаживание). Способ обработки (интерполяции) пикселов для получения более четких
краев (границ) изображения (объекта). В применении к 3D технологии,
термин подразумевает сглаживание характерных "ступенек" линий,
прорисованных под углом. Посмотрите на стену в Quake II. Вы наверняка заметите
"ступеньки" на линиях, показывающих границу стены. При аппаратной
прорисовке 3D сцены сглаживание может замещаться или дополняться билинейной и трилинейной фильтрацией, поскольку их
технология уже реализует некоторое подобие сглаживания.
Bilinear Filtering (билинейная фильтрация). Эта
возможность реализована в большинстве 3D ускорителей. Билинейная фильтрация
позволяет получать графику с менее заметными пикселями и с менее выделяющейся
блочной структурой. Она применяется для получения более сглаженных текстур,
которые визуально приятнее.
Как она работает? Берутся четыре соседних пикселя (или текселя), их цвета усредняются. В
результате мы получаем один пиксель с усредненным цветом. Однако билинейная
фильтрация может привести к тому, что объект потеряет "виртуальную"
глубину или свой естественный вид. Здесь приходит на помощь
другой вид фильтрации - трилинейная. Или более продвинутая - анизотропная.
Dedicated Frame Buffer (выделенный кадровый буфер).
Это некоторое количество памяти, используемое для хранения данных кадрового буфера и/или Z-буфера. Такая архитектура памяти
называется раздельной (split memory architecture). Большинство 3D карт
используют другую архитектуру памяти, где память для хранения текстур не отделена от памяти кадрового
буфера. Естественно, там уже не существует "выделенного кадрового
буфера".
Displacement Map (карта смещения). Вторая текстурная
карта, используемая при отображении шероховатостей поверхности. Карта
показывает, каким образом на оригинальной текстуре отбрасываются тени от неровностей.
Distortion (искажение, дисторция). Под дисторцией
понимают искажение звуковых частот, производимых звуковой картой и колонками.
Dithering (сглаживание переходов между цветами).
Является зрительным артефактом, появляющимся при уменьшении
количества используемых цветов (или уменьшении глубины цвета). К примеру, в
результате сглаживания переходов текстура теряет свою четкость, на ней будет
заметна пикселизация.
Double buffering (Двойная буферизация). Технология, суть которой в том, что
пространство памяти для хранения кадров делится на 2 части. В одной из таких
частей кадр готовится к выводу, в то время как из другой выводится готовый. Эта
технология применяется для обеспечения плавности движения в быстро меняющихся
изображениях (например, при мультипликации). Даже в простых моделях с
быстродействующим аппаратным обеспечением непрерывное перерисовывание объекта
может вызвать заметное мерцание экрана. Оно вызвано
необходимостью всякий раз очищать дисплей перед тем, как система начнет
рисовать объект в новой позиции. Чтобы устранить этот дефект, двойная
буферизация позволяет системе рисовать образ в неотображаемой части экранной
памяти, а затем переключать отображение на эту часть. В этом случае объект
немедленно воспроизводится в новой позиции. Фактически, этот метод
переопределяет некоторое количество плоскостей (вторичный буфер) как скрытую
память и затем меняет местами два буфера так, что первичный буфер становится
неотображаемым.
Fill Rate (скорость заполнения). Показывает скорость
прорисовки пикселей на экране монитора. Чем больше скорость заполнения, тем
лучше. Скорость современных видеокарт измеряется в миллионах пикселей в
секунду.
Filtering (фильтрация). Бывает билинейной, трилинейной и анизотропной. С помощью фильтрации ускоритель сглаживает текстуры, усредняя цвет пикселя с
окружающими пикселями.
FPS (Frames per Second), количество кадров в секунду.
Очень часто производительность видеокарты измеряют по количеству кадров,
которые она прорисовывает в секунду. Если вы посмотрите определение кадра, то поймете смысл. Чем быстрее ускоритель, тем быстрее он отрисовывает
кадр. Хорошая видеокарта выдает в среднем 60 fps. Я не хочу полемизировать, но
я так и не смог на глаз отличить 60 fps от 120 fps во время игры. Обычно же
игры не выдают больше 40-50 fps. Кстати, чем выше разрешение, тем меньше
количество кадров в секунду.
Frame (кадр). Кадром называют одну статическую
картинку, отрисованную на вашем мониторе. Если вы знакомы с мультипликацией, то
поймете в чем тут дело. Следующий кадр немного отличается от предыдущего.
Постоянная смена кадров создает эффект движения на экране. Благодаря смене
кадров вы смотрите кинофильм, играете в игру или перематываете вниз эту
страницу.
Frame Buffer (кадровый буфер). Некоторое количество
памяти на видеоускорителе выделяется для хранения
временных кадров, которые будут
затем выведены на экран. Это количество и называется кадровым буфером. Больший
буфер позволяет хранить кадры с большим количеством цветов и большим разрешением.
Gamma Correction (гамма-коррекция). Возможность управлять красной, зеленой
или синей составляющей пикселя или текстуры для определения требуемой яркости
свечения.
Graphic Aperture Size (размер апертуры). Вы, наверное, никогда не встретитесь с
этим термином, если не заглянете в BIOS компьютера. Величина апертуры указывает
на размер системной памяти, которая может использоваться AGP видеокартой. Если у вас много лишней
памяти, то вы можете получить небольшой прирост производительности, увеличив
величину апертуры.
Graphics Pipeline (графический конвейер). Путь
информации в компьютере весьма сложен. Обычно он начинается на центральном процессоре, далее
информационный поток проходит через материнскую плату, шину AGP или PCI, заходит на видеоускоритель и затем попадает на экран
монитора. Чем быстрее информация проходит этот путь (или конвейер), тем быстрее
работает графика.
HyperZ II. Технология изобретенная фирмой ATi для применения в
своих видеокартах. Технология HyperZ II является обновлением существующей
технологии HyperZ, которая позволяет увеличить пропускную способность памяти.
Состоит из 3-х компонентов:
Иерархический Z-буфер (Hierarchical Z-buffer) решает
проблему перерисовки, работая с блоками пикселей размером 4х4, вместо 8х8 как в
других RADEON. Меньший размер блоков помогает перерисовывать меньше данных, но
в конечном итоге получается качественно прорисованный объект, ведь при
обработке больших блоков некоторые пиксели пропускаются. Это позволяет
обрабатывать 64 пикселя за цикл (для сравнения: в обычном
RADEON обрабатывается 8 пикселей за цикл, а в GeForce3 - 14 пикселей за цикл).
Распаковка Z-буфера
(Z-buffer Decompression) по сравнению с предыдущими версиями, имеет лучший
алгоритм сжатия, благодаря чему сократилось количество ошибок и потерь при
сжатии/восстановлении.
Быстрая очистка
Z-буфера (Fast Z-buffer Clears) позволяет чипу RADEON 8500 запрещать писать
нули в Z-буфер после каждого цикла, улучшая эффективность памяти.
Internal Rendering (внутренний рендеринг). Количество цветов, с которым видеокарта создает изображение. Обычно
количество бывает 16-битным, 24-битным или 32-битным. Больше цветов означают
большую красочность игры, но в то же время и некоторую потерю в
производительности и количестве кадров в секунду. Большинство
современных игр могут осуществлять 32-битный внутренний рендеринг.
Mip-Mapping (мип-мэппинг, мип-текстурирование).
Процесс преобразования изображения или текстуры в меньшие по размеру изображения. MIP означает "многое в одном" (lat. "Multum In
Parvum"). Алгоритм использует текстуру с различным разрешением
(256x256,128x128,64x64 и т.д.) для разных частей обьекта (в зависимости от
расстояния между наблюдателем и поверхностью и от угла под которым находится
поверхность).
Побочным эффектом mip-mapping'a является banding - разрывы
между mip-уровнями (текстурами с различным разрешением). К тому же теряется
резкость текстур.
Multitexture, Multitexturing (мультитекстурирование). Процесс добавления множества текстур к объекту при программировании 3D
игры (наложение нескольких текстур на
один полигон за один проход). Они могут накладываться друг на друга, для
отображения шероховатостей поверхности. Или
использоваться друг с другом для создания одной большой 3D модели и т.д. При
этом цвета текселей этих текстур смешиваются по определенному закону: add
(сложение), modulate (умножение), substractive (вычитание) и др. Очень часто используется для наложения карт
освещения.
Per-Pixel Mip-Mapping (попиксельный мип-мэппинг). Это
самая точная версия мип-мэппинга. Для увеличения
производительности, мип-мэппинг может применяться не только к пикселю, но и к
полигону и т.д. Но только при попиксельном мип-мэппинге тени получаются такими
же детальными, как и отбрасывающие их объекты.
Pipeline (конвейер). В нем хранится очередь операций
для микропроцессора. В известной степени конвейер - это то место, где
скапливаются все инструкции, дабы процессор не простаивал. Или, может быть, это
область памяти процессора (кэш) для хранения данных.
Pixel (пиксель). Самый маленький объект на экране
монитора. Дисплей состоит из пикселей. Также из них строится изображение.
Polygon (полигон, многоугольник). Абстрактная геометрическая фигура
(многоугольник). У этой фигуры может быть 3 и более углов, но в современной
графике используются 3 угла, так как их увеличение ничего не добавит, а вот
ресурсов пожираться будет больше.
Rendering
(Рендеринг)
Процесс создания
окончательных кадров для вывода на экран. Во время рендеринга (прорисовки)
происходит наложение текстур, освещения, затенения, тумана и многие другие
процессы.
Rendering engine (Механизм рендеринга)
Логическое
устройство, осуществляющее рендеринг (прорисовку). Обычно реализуется в
графическом процессоре. Существует для прорисовки полигонов, линий, точек и
т.п.
Software Rendering (программный рендеринг). Весьма ужасный режим рендеринга графики, не задействующий 3D ускоритель. Обычно медленный и не очень
красивый. Является главной причиной изобретения 3D ускорителей. Если игра не
поддерживает ускоритель, то она использует программный рендеринг.
Sprite (спрайт). Двумерное графическое изображение.
Примером можно считать прицел в Quake2 или Half-Life.
Stencil Buffer (Буффер трафаретов, шаблонов)
Трафарет это лист
материала на который нанесена надпись или эскиз таким образом, что краска нанесенная на лист будет повторять рисунок на нижней
поверхности. При использовании свойств трафаретов
становится легче применять такие эффекты как растворение, постепенное
исчезновение изображения, удар.
S-Video. S-Video является стандартом, который
поддерживается многими 3D ускорителями. На них вы можете обнаружить разъем
S-Video для подключения цифровых камер, видеомагнитофонов, телевизоров и т.д.
Tessellation
(Мозаика)
Процесс деления
изображения на более мелкие формы - многоугольники (чаще используются
треугольники и четырёхугольники).
Texel, texture element (элемент текстуры, тексель).
Обычно текселем называют пиксель применительно к 3D. Точка на поверхности текстуры. Из таких точек состоит весь рисунок её
поверхности.
Texture (текстура). Графическая картинка,
"натягиваемая" на полигональные каркасы в 3D. С помощью текстур мы
получаем тот прекрасный трехмерный мир, который мы наблюдаем в играх.
Texture antialiasing (Сглаживание текстур)
Обработка текстур,
при которой устраняются некоторые дефекты наложения.
Texture Compression (сжатие текстур). Возможность видеоускорителя уменьшать размер картинки,
кодируя повторяющиеся строки и уменьшая цветовую палитру текстуры. Технология может радикально
повысить частоту кадров, уменьшая качество
изображения, или повысить визуальное качество с помощью поддержки постоянной
палитры. В любом случае, сжатие текстур делает нашу жизнь приятнее.
Texture Mapping, texturing (текстурное отображение). Процесс
"натягивания" текстуры или картинки на 3D полигональный
скелет. Также этот процесс называют текстурированием.
TMU [Texture Mapping Unit]
Процессор текстур
находится на видео карте. При выборе видео картаы не мешало бы обратить
внимание на TMU. Чем больше TMU тем легче работать с
многотекстурными объектами.
Texture Memory (текстурная память). Часть памяти
видеоускорителя, выделенная для хранения используемых для обтягивания объекта
текстур.
Trilinear Texture
Filtering (Трилинейная фильтрация текстур)
Вычисляет взвешенное
среднее двух уровней Mipmap. Это улучшает качество изображения в большей
степени удаленных объектов.
Z-Buffer (Z-буфер). Является частью памяти 3D ускорителя,
выделенной под хранение координаты Z у трехмерных точек. Если вы вспомните
геометрию, у каждой точки в трехмерном пространстве существует три координаты:
X, Y и Z. Смысл использования Z-буфера очень прост: он позволяет
видеоускорителю не прорисовывать текстуры, скрытые позади других текстур.
Например, если вы заходите в игре за стену, то за ней вы не можете видеть
другие объекты, а с помощью Z-буфера карта не будет их отрисовывать лишний раз.
Z-буфер позволяет значительно увеличивать производительность. Также при его
использовании точность позиционирования по оси Z улучшается.