Для начала ознакомимся с некоторыми базовыми понятиями в мире трехмерной графики
API (Application Programming Interface) — интерфейс программирования приложений — по сути, набор методов и инструментов, которые используют разработчики игр (и не только), например, при создании графического движка — основы любой игры.
Microsoft DirectX (сокращенно — DX) — наиболее распространенный на сегодняшний день API среди разработчиков игр. В настоящее время можно встретиться со следующими версиями этого API: 8.1, 9.0, 9.0с, 10. Основные отличия между ними — поддержка тех или иных версий шейдеров: DX 8.1 поддерживает шейдеры версии 1.1, DX 9.0 — шейдеры 2.0, DX 9.0c — шейдеры 3.0 и DX10 — шейдеры версии 4.0
Шейдеры — специальные программы для трехмерной графики, выполняются чипом видеокарты либо ЦПУ (в режиме эмуляции). Шейдеры позволяют сложные поверхности изображать посредством простых геометрических форм. Например, при помощи шейдеров можно создать объемную поверхность кирпичной стены, визуально будет присутствовать множество выступов, трещинок, пустот между кирпичами, однако на деле стена останется абсолютно плоской и монолитной. Различают шейдеры вершинные и пиксельные. Ускорители GeForce 3 первыми принесли поддержку аппаратного ускорения работы с шейдерами.
Вершинные (другое название — вертексные) — оперируют с вершинами полигонов (треугольников, из которых составляется любой трехмерный объект в компьютерной графике). Каждая вершина имеет множество параметров: пространственные координаты, данные о цвете, текстуре и другие. Вершинные шейдеры позволяют менять значения этих параметров. Примеры использования вершинных шейдеров: облака, туман, дым, анимация лиц и многое другое.
Пиксельные — дают возможность обрабатывать отдельные пиксели. Примеры пиксельных шейдеров: реалистичное освещение, тени, шероховатые стены, рябь на воде и блики света на металлических и стеклянных поверхностях, многие спецэффекты вроде взрывов или дождя…
High dynamic range (HDR) — технология динамического освещения, вывела реалистичность картинки в играх на новый уровень. Нововведение позволило по-новому отображать блики воды, свет, проходящий через полупрозрачные поверхности (витражи), и многое другое.
Фильтрация текстур — в двух словах: если в виртуальном мире посмотреть издалека на дорогу, то текстуры на ней будут смазаны. Фильтрация текстур убирает это недоразумение. Существует несколько видов фильтрации: билинейная, трилинейная и анизотропная. Самая качественная, но и самая сложная для ускорителя — анизотропная фильтрация. NVIDIA и ATI применяют собственные технологии для расчета фильтрации, поэтому результат получается разный.
Сглаживание (антиалиасинг) — как известно, в играх при низком (и не очень) разрешении на краях объектов можно наблюдать «лесенку», «зубчатую» границу, по-научному такое явление называется алиасинг. Сглаживание — это технология, которая позволяет сделать границы кривых линий более гладкими. Если не вдаваться в подробности, то принцип сглаживания прост — увеличивается разрешение картинки, значения цвета граничных пикселей усредняется между цветом изображения и цветом фона. Таким образом, «лесенка» размывается. Надо сказать, что антиалиасинг — очень ресурсоемкая технология, например, сглаживание в режиме AA 2х удваивает горизонтальное и вертикальное разрешение, AA 8х — увеличивает его в восемь раз! Современный антиалиасинг увеличивает разрешение не всей картинки, а только лежащей на границе объектов.