Видеоадаптеры

Как работает ускоритель трехмерной графики

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

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

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

Вплоть до конца 1990-х годов трехмерные программы существенно зависели от обработки данных, благодаря которой абстракции преобразовывались в непосредственное изображение. Все это становилось тяжелой ношей для процессора ПК, которому приходилось не только обрабатывать визуальные данные, но и одновременно выполнять другие приложения и системные службы. В 1996–1997 годах наборы микросхем большинства видеоадаптеров стали принимать участие в визуализации трехмерных изображений, существенно уменьшая нагрузку на центральный процессор и тем самым многократно увеличивая быстродействие системы.

Всего существует десять поколений графических ускорителей, которые представлены в таблице.

 

Поскольку практически все современные видеоплаты, присутствующие на рынке, поддерживают функции DirectX 9.0 или даже более расширенный набор функций, вам не придется тратить много денег при желании получить трехмерную графику высокого уровня. Выпускается немало видеоплат ценового диапазона 75–200 долларов, основанных на менее производительных версиях современных графических наборов микросхем или же графических наборах микросхем предыдущего поколения. Подобные решения обеспечивают высочайший уровень быстродействия в двухмерных приложениях. Большинство современных 3D-ускорителей также поддерживают работу с двумя мониторами и функцию вывода сигнала на телевизор, что позволяет работать и отдыхать одновременно.

Однако не следует забывать, что чем дороже плата 3D-акселератора, тем более быстродействующий ускоритель и больший объем видеопамяти она предлагает. Если деньги для вас не являются решающим фактором или если вы как заядлый игрок готовы отдать последнее за самое современное решение, можете приобрести графический адаптер NVIDIA с самым быстродействующим процессором и 768 Мбайт видеопамяти примерно за 750 долларов (модели за 900 долларов оснащены водяным охлаждением). В то же время на рынке существует множество моделей от ATI и NVIDIA с памятью 512 Мбайт в ценовом диапазоне 400–500 долларов. Некоторые из этих плат допускают спаривание (NVIDIA SLI и ATI CrossFire), что позволяет объединить мощности двух графических процессоров.

Модельные ряды процессоров NVIDIA 8 и ATI HD 2xxx поддерживают DirectX 10, и это единственный шанс для заядлых геймеров получить доступ к играм новых поколений. Более дешевые решения, стоимостью 200–300 долларов, часто базируются на функционально усеченных графических процессорах (например, уменьшено количество конвейеров рендеринга или блоков текстурирования). Кроме того, часто занижается частота ядра и памяти, а также уменьшается ширина шины памяти. Подобные платы предназначены для тех пользователей, которые не могут позволить себе приобрести игровую плату высокого уровня.

Практически в любом ценовом диапазоне, начиная от 100 долларов и до мыслимых пределов, можно приобрести графический акселератор, поддерживающий последнюю технологию DirectX 10 3D.

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

  • Вершины. Задают местоположение объекта в трехмерном пространстве, определяемое координатами X, Y и Z.
  • Примитивы. Это простые геометрические объекты, с помощью которых конструируются более сложные объекты. Их положение задается расположением определяющих точек (обычно вершин). Для конструирования изображений трехмерных объектов при построении примитивов учитывается также эффект перспективы.
  • Текстуры. Это двухмерные изображения, или поверхности, налагаемые на примитивы. Программное обеспечение усиливает эффект трехмерности, изменяя вид текстур в зависимости от положения примитива (т.е. расстояния до примитива и его наклона); этот процесс называется перспективной коррекцией. В некоторых приложениях используется другая процедура, называемая отображением MIP; в этом случае применяются различные версии одной и той же текстуры, которые содержат разное количество деталей (в зависимости от расстояния до объекта в трехмерном пространстве). При отображении удаляющихся объектов уменьшается насыщенность и яркость цветов текстуры.

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

  • Геометризация. Определение размеров, ориентации и расположения примитивов в пространстве и расчет влияния источников света.
  • Растеризация. Преобразование примитивов в пиксели на экране с нанесением нужных затенений и текстур.

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

  • Растровое преобразование. Определение того, какие пиксели экрана покрываются каждым из примитивов.
  • Обработка полутонов. Цветовое наполнение пикселей с плавными переходами между объектами.
  • Наложение текстур. Наложение на примитивы двухмерных изображений и поверхностей.
  • Определение видимых поверхностей. Определение пикселей, покрываемых ближайшими к зрителю объектами.
  • Анимация. Быстрое и четкое переключение между последовательными кадрами движущегося изображения.
  • Сглаживание. Плавное изменение цветовых границ для сглаживания контуров формируемых объектов.
Яндекс.Метрика