#pixel #vertex #Anti-Aliasing #Texture #Rendering #fps
Pixel (пиксель) - минимальный элемент изображения на экране, который может быть сгенерирован компьютером.
Polygon (полигон) - минимальный компонент трехмерного изображения на экране, на которые оно разделяется для последующей обработки. Как правило, используются треугольные полигоны, из которых затем могут быть построены любые другие многоугольники.
Texture (текстура) - обычное (двумерное) изображение, используемое при построении трёхмерного изображения путём наложения его на плоскости полигонов.
Rendering (рендеринг) - В трехмерной графике - операция построения изображения из набора текстур и геометрических данных.
Anti-aliasing - (Full Scene Antilaiasing(FSAA), полноэкранное сглаживание, антиалиазинг).
Метод устранения артефактов рендеринга в виде неровностей краев объектов и "зубцов" на линиях. Самый популярный способ его реализации - создание плавного перехода от цвета линии или края к цвету фона изображения.
В настоящее время встречаются следюущие разновидности AA:
SuperSampling AA (SSAA) - фактически, при использовании этого метода изображение рендерится с более высоким разрешением, а потом масштабируется до экранного. Самый простой и самый медленный метод, приводит к нежелательному размытию мелких деталей изображения, например - надписей.
MultiSampling AA (MSAA) - более быстрый и совершенный алгоритм сглаживания, когда для подсчёта результирующего цвета точки берутся не все её соседи, как в SSAA, а некое подмножество, выбираемое по специальной матрице, причём исключительно на границах полигонов. Реализация этого алгоритма варьирует в различных видеокартах, в общем случае он вызывает значительно меньшие потери в скорости, чем "честный" SSAA, но не сглаживает объекты, находящиеся внутри полигонов. (Типичный пример - прозрачные и полупрозрачные поверхности).
TemporalAA - разновидность MSAA с меняющейся через каждый кадр матрицей выборки, теоретически способен выдать более высокое качество изображения.
В связи с тем, что используемые в качестве игровых наиболее популярные LCD мониторы с диагональю 17"-19" имеют физическое разрешение матрицы в 1280*1024, обладателям высокопроизводительных видеокарт для достижения наилучшего качества картинки рекомендуется выбирать максимально качественный режим FSAA, при котором скорость остаётся в пределах комфортной играбельности. Наибольший выигрыш от использования FSAA получают игры с 3D-графикой, обладающие относительно статичной картинкой - т.е. реал-тайм стратегии, ролевые игры и т.п.
Bilinear Filtering (Билинейная фильтрация) - Алгоритм обработки изображения при переводе пикселей отображаемых текстур в реальные пиксели изображения. По этому алгоритму четыре соседних пикселя в текстуре отображаются в один "усредненный" пиксель, реально изображаемый на дисплее. Выбор пикселя зависит от того, откуда обозревается изображение. Базовый алгоритм фильтрации текстур, применяемый в настоящее время.
Отсутствие фильтрации текстур (прямая выборка - point sampling) приводит к сильным искажениям изображения и в современных видеокартах не применяется.
Mip Mapping (MIP) - название произошло от фразы на латинском Multum in Parvo (много в одном). Многоуровневое отображение - используется как один из способов упаковки текстур изображения в памяти и быстрой отрисовки их на экране. Для реализации этого метода в памяти хранится несколько вариантов одной текстуры, но с различным разрешением и, в зависимости от расстояния между точкой обзора и объектом, выбирается текстура оптимального разрешения. Текстуры на ближайших к точке обзора поверхностях выводятся с высоким разрешением, на удаленных - с худшим разрешением.
Trilinear Filtering (трилинейная фильтрация) - комбинация билинейной фильтрации и mip mapping. При выполнении трилинейной фильтрации сначала по алгоритму билинейной фильтрации обрабатываются текстуры одного уровня, а затем выполняется сглаживание перехода (mip mapping) к другому уровню. Даёт более высокое качество изображения, нежели билинейная фильтрация, но приводит к некоторой потере чёткости.
Anisotropic Filtering (анизотропная фильтрация) - тип фильтрации, учитывающий при расчёте результирующего цвета пикселя третье измерение объекта, а количество используемых для расчёта исходных пикселей зависит от степени анизотропии, которую можно регулировать в настройках качества графики приложения или видеокарты. (Увеличение степени анизотропии улучшает качество картинки, но вызывает потери скорости). Это наиболее качественный тип фильтрации, применяемый в настоящее время, даёт более чёткую и реалистичную картинку по сравнению с трилинейной фильтрацией.(Особенно это касается поверхностей, находящихся под острым углом к зрителю, типичный пример - полы и стены коридоров в "стрелялках")
Multi-texturing - мультитекстурирование. Наложение более одной текстуры на пиксель для отображения различных эффектов, в первую очередь - освещённости. Применяется практически во всех современных играх.
V-sync - Синхронизация вывода очередного кадра 3D изображения с выводом ближайшего кадра изображения из локальной памяти видеокарты в соответствии с установленной частотой кадров. При включенном V-sync происходит ожидание вывода на экран отрисованной 3D картинки до тех пор, пока не наступит время вывода очередного кадра в соответствии с частотой кадров монитора. Выключение синхронизации ускоряет вывод на экран 3D изображений, но возможно появление артефактов(дефектов) на выводимых изображениях, поэтому отключение V-Sync рекомендуется делать только для тестирования производительности.
Z-buffering (Z-буферизация) - механизм удаления невидимых поверхностей при рендеринге изображения, использующий буфер в памяти, в котором сохраняется значение глубины изображения (т.е. координата по оси z) для каждого пикселя изображения. У современных видеокарт для ускорения рендеринга применяются различные способы оптимизации работы с z-буфером - иерархическая организация, ранняя очистка, компрессия и т.п.
Fillrate(cкорость заполнения) - одна из основных единиц измерения производительности процессоров 3D видеокарт. Этот показатель отражает максимальное количество операций наложения текстур на пиксель, выполняемых видеокартой в течение одной секунды.
FPS(Frames Per Second, кадров в секунду) - основная интегральная единица измерения фактической производительности 3D ускорителей в конкретном приложении и видеорежиме. Показывает количество кадров, которые ускоритель способен отрисовать за секунду. На практике, этот показатель прямо связан с критерием играбельности (т.е. возможностью комфортной игры) для данной конфигурации (включая собственно игру и видеорежим).
На практике для большинства пользователей абсолютно комфортная играбельность для "шутеров" от первого лица достигается при среднем FPS более 60 и минимальном - более 45. Для стратегий в реальном времени и ролевых игр эти показатели можно снизить до 45 и 30, соответственно.
Frame Buffer(буфер кадра) - область памяти для временного хранения всех пикселей и их характеристик для одного кадра изображения. Размер буфера зависит как от количества пикселей изображения, так и от глубины цвета (или количества цветов).
Gamma Correction (гамма-коррекция) - механизм, позволяющий корректировать искажения яркости цвета на мониторе, исторически вызванные нелинейной зависимостью между подаваемым на ЭЛТ напряжением и яркостью. Гамма-коррекция может регулировать яркость в диапазоне от 0.3 до 4, где 1.0 - значение по умолчанию.
Vertex Shader - (вершинный или вертексный шейдер) - исполняемая графическим процессором программа, математически оперирующая вершинами объекта. Каждый полигон изображения имеет вершины - точки, в которых сходятся две его стороны. Каждая вершина описывается целым рядом параметров( координаты, цвет, текстура, освещенность). Вершинные шейдеры позволяют изменять эти параметры, не меняя самого типа данных, что позволяет, в первую очередь, создавать реалистичную анимацию, связанную с деформацией поверхностей.(Мимика, водные поверхности и т.п.)
Pixel Shader - (пиксельный шейдер) - исполняемая графическим процессором программа, оперирующая непосредственно с конкретными пикселями изображения для расчета эффектов. Применение пиксельных шейдеров позволяет более точно передавать рельеф и освещение сложных поверхностей (в первую очередь - металл, шерсть, волосы, кожа), нежели классические полигональные методы