« Архитектура PlayStation 2 (index)

Архитектура PlayStation 2

Chapter 5: Графика


Содержание

  1. Архитектура и строение
    1. Предварительная обработка
    2. Растеризация
    3. Текстурирование
    4. Тестирование
    5. Пост-обработка
  2. Еще больше пост-обработки
  3. Лучшие модели
  4. Видеовыход

Учитывая всю работу, выполненную Emotion Engine, осталось ли что-нибудь еще? На самом деле последний шаг: Отображение!

Image
Final Fantasy X (2001).

Существует простой, но быстрый чип, специализирующийся на этом: Графический Синтезатор или 'GS', работающий на частоте ~147,46 МГц. В него встроено 4 МБ DRAM для обработки всех задач. Таким образом, отпадает необходимость в доступе к основной памяти. Встроенное ОЗУ (embedded RAM, eDRAM) соединяется с различными шинами в зависимости от типа необходимых данных.

GS имеет меньше возможностей, чем другие графические системы, ранее рассмотренные на этом сайте. Тем не менее, он очень быстр в том, что он делает.

Архитектура и строение

Этот GPU выполняет только растеризацию, и это... Генерация пикселей, картирование текстур, наложение освещения и некоторые другие эффекты. Это означает, что нет преобразований вершин (они обрабатываются VPUs). Также это конвейер с постоянной функцией, поэтому ни сложных настроек, ни шейдеров нет, вы ограничены фиксированной моделью затенения (например, Гуро).

Image
Дизайн конвейера Графического Синтезатора

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

Предварительная обработка

Image
Стадия предварительной обработки.

Процессор Emotion Engine запускает синтезатор графики, заполняя его встроенную DRAM необходимыми материалами (битмапы текстур и таблицы поиска цвета, последние также известны как 'CLUT'), назначая значения в регистрах GS для его настройки и, наконец, выдавая команды рисования (списки отображения), которые инструктируют GS рисовать примитивы (точки, линии, треугольники, спрайты и т.д.) в определенных местах экрана.

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

Растеризация

Image
Стадия растеризации.

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

Он также выполняет тесты на отсечение, чтобы отбрасывать полигоны вне области кадра (на основе их значений X/Y), некоторые свойства пикселей передаются на стадию 'тестирования пикселей' для дополнительных проверок. Освещение также обеспечивается выбором одного из двух доступных вариантов: Гуро и Равномерное.

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

Текстурирование

Image
Стадия текстурного отображения

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

Текстурные карты извлекаются из DRAM в области, определенной как буфер текстур, хотя это администрируется отдельной областью, называемой буфер страницы текстур, который, по-видимому, служит механизмом кэширования для текстур. CLUT также отображаются с использованием этой системы страниц. Оба элемента извлекаются с использованием 512-битной шины.

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

Тестирование

Image
Стадия тестирования пикселей

Здесь определенные пиксели будут отброшены, если они не соответствуют нескольким требованиям. Итак, выполняются следующие тесты:

Пост-обработка

Image
Стадия пост-обработки

Последняя стадия может применить некоторые эффекты на наши новые пиксели, используя предыдущий буфер кадров, найденный в локальной DRAM:

В конце концов, новый буфер кадров вместе с обновленным Z-буфером записываются в память с использованием 1024-битной шины.

Еще больше пост-обработки

В GS есть специальный компонент, называемый программируемый контроллер ЭЛТ или 'PCRTC', который отправляет буфер кадров в памяти на видео выход, чтобы вы могли видеть кадр на экране телевизора. Но это еще не все: он также содержит специальный блок под названием Схема слияния, который позволяет альфа-смешивать два отдельных кадровых буфера (полезно, если игры хотят повторно использовать предыдущий кадр для формирования нового). Результирующий кадр может быть выведен через видеосигнал и/или записан обратно в память.

Лучшие модели

С учётом всего сказанного, это, конечно, принесло лучшее дизайны для обновления уже известных персонажей. Посмотрите на этот 'До & После':

3D model 3D model 3D model
Интерактивная модель доступна в современной версии
Crash Bandicoot (1996) для PS1.
732 треугольника.

3D model 3D model 3D model
Интерактивная модель доступна в современной версии
Crash Bandicoot: The Wrath of Cortex (2001).
2226 треугольника.

Вот персонажи из новых игровых серий, которые были смоделированы с высоким уровнем детализации с нуля:

3D model 3D model 3D model
Интерактивная модель доступна в современной версии
Kingdom Hearts (2002).
2744 треугольника.

3D model 3D model 3D model
Интерактивная модель доступна в современной версии
Dragon Quest VIII (2004).
2700 треугольника.

Стоит отметить, что игры, такие как Dragon Quest, реализовали пользовательскую модель освещения под названием Cel Shading (термин, который я упоминал раньше), однако в моих предыдущих статьях я объяснял, что за это в основном отвечает GPU. В случае PS2, предполагается, что необходимые цветовые вычисления выполняются Emotion Engine, так как GS не такой гибкий, как другие GPU.

Видеовыход

Как уже упоминалось ранее, PCRTC отправляет кадровый буфер через видеосигнал. Интерфейс может транслировать видео с использованием широкого диапазона форматов (чтобы работать с телевизорами из любого географического региона) :

Image
Правая сторона консоли , вид сзади. Показаны порты питания, цифрового аудио и AV Multi Out.

Есть довольно много режимов на выбор, но все сводится к принятию формата в начале 2000-х годов, что сужает выбор до PAL и NTSC. Также, хотя PAL обеспечивал более высокое разрешение, чем NTSC, некоторые европейские версии NTSC-игр использовали letterboxing, чтобы скрыть неиспользуемые горизонтальные линии, и замедляли частоту до 50 Гц (я называю это 'плохими портами'!).

Видео-выходной порт (Multi A/V) очень удобен. Он переносит RGB, компонентное, S-Video и композитное видео. Таким образом, все важные сигналы присутствуют без необходимости в проприетарных адаптерах или внутренних модификациях.


Previous: 4. Сопроцессоры

Next: 6. Звук


Rodrigo Copetti © 2026 RSS Feed

Переключиться на современную версию

Домашняя страница · Статьи · Поддержка · Об авторе · О сайте