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

Архитектура Dreamcast

Chapter 4: Графика


Содержание

  1. Архитектура
  2. Строение
    1. Tile Accelerator
    2. Ядро PowerVR2
  3. Общая картина
  4. Больше деталей
  5. Видео режимы

Графический процессор представляет собой чип собственной разработки под названием Holly, работающий на частоте 100 МГц. В отличие от предыдущих собственных разработок, на этот раз Sega сотрудничала с VideoLogic (ныне известной как Imagination Technologies), чтобы те предоставили им конкурентоспособный 3D ускоритель.

Image
Чип Holly (после удаления термо прокладок) и энкодер видео.

Внутри Holly мы можем обнаружить эксклюзивную схему обработки графики от VideoLogic под названием PowerVR2 (также известен как "PowerVR Series2" и "CLX2"). Она основана на их предыдущих ГП PowerVR, но подогнана под нужды Dreamcast.

Архитектура

VideoLogic выбрала альтернативный подход к архитектуре своего 3D ядра под названием Tile-Based Deferred Rendering (TBDR, отложенная отрисовка основанная на тайлах).

Вместо отрисовки всего кадра за раз (как это делают традиционные Immediate Mode Renderers или 'IMR' ), TBDR нарезает область отрисовки на несколько секций называемых 'тайлами'. Процесс отрисовки выполняется отдельно для каждого тайла, после чего результат комбинируется вместе для составления конечного кадра .

Image
Sonic Adventure (1999).

Этот инновационный дизайн привносит интересные преимущества:

Неудивительно, что Imagination и далее использовала эту эффективную технологию в видео-ядрах Series 4 PowerVR, которые использовались на невероятном количестве устройств, включая первое поколение iPhone, iPhone 3G, Nokia N95 и Dell Axim x51.

Строение

Давайте рассмотрим два основных компонента графического чипа Dreamcast :

Tile Accelerator

Image
Архитектура Tile Accelerator.

Прежде чем начнется процесс отрисовки, компонент известный как Tile Accelerator (тайловый ускоритель) производит предварительную обработку. Сперва он аллоцирует несколько 32x32 групп тайлов в которые будет отрисовываться геометрия.

Затем ускоритель:

  1. Забирает (при помощи прямого доступа к памяти (DMA) или обычной передачи) геометрические данные и команды отрисовки (drawing commands) сгенерированные процессором.
  2. Конвертирует эти данные в свой внутренний формат.
  3. Распределяет геометрию в каждую из групп тайлов в зависимости от их координат. Геометрия вне поля видимости отбрасывается на этом этапе.
  4. Генерирует окончательные списки отрисовки (Display Lists).

Списки отрисовки затем интерпретируются 3D ядром: PowerVR2.

Ядро PowerVR2

Image
Архитектура ядра PowerVR2.

Здесь графика воплощается в жизнь. Руководствуясь списками отрисовки, полученными от Tile Accelerator, 3D ядро отрисовывает каждый тайл в свой внутренний кадровый буфер (framebuffer). Этот процесс выглядит так:

  1. Image Synthesis Processor (процессор синтеза изображения) или 'ISP' извлекает примитивы (треугольники либо четырехугольники) и выполняет удаление скрытых поверхностей (Hidden-Surface Removal) чтобы убрать скрытые полигоны. Затем, после рассчета их Z-буферов и трафаретных (stencil) буферов, данные проходят через тест глубины (Depth Testing) чтобы избежать отрисовки полигонов которые скрыты другими и трафаретный тест (Stencil Tests) чтобы отбросить геометрию которая не будет видна если расположена за двухмерными полигонами (так же называемыми масками).
    • Обратите внимание, что эти тесты фактически выполняются в самом начале конвейера. Для сравнения, предыдущие консоли, использующие позднюю z-буфферизацию, отбрасывают скрытую геометрию в конце конвейера. Подход ISP предотвращает обработку геометрии, которая в последствии будет отброшена , сохраняя ресурсы.
  2. Texture and Shading Processor (процессор текстурирования и шейдирования) или 'TSP' окрашивает и затеняет (shading) тайлы, а так же применяет к ним различные эффекты.
    • Текстуры не применяются пока тайл не экспортирован. Это означает что накопленный overdraw (если он присутствует к этому этапу) не снизит скорость заполнения.

После завершения этого процесса, отрисованный тайл записывается в основной кадровый буфер находящийся в видео-памяти (VRAM). Этот процесс повторяется пока все тайлы не будут отрисованы. После завершения отрисовки, конечный кадр читается Video encoder -ом (кодировщиком видео) из кадрового буфера и отправляется на видеовыход.

Общая картина

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

Больше деталей

Holly может отрисовать примерно в 10 раз больше полигонов чем его предшественник, вот примеры до и после, которые показывают насколько менее ограничен теперь дизайн моделей. Попробуйте поиграться с ними!

3D model 3D model 3D model
Интерактивная модель доступна в современной версии
Sonic R (1997) для Saturn.
286 треугольников (или 185 четырёхугольников).

3D model 3D model 3D model
Интерактивная модель доступна в современной версии
Sonic Adventure (1999) для Dreamcast.
1001 треугольник.

Видео режимы

Подсистема вывода видео была спроектирована с поддержкой нескольких типов экранов и выходных форматов, так video encoder выводит видео на единый выходной порт, который поддерживает следующие форматы:

Dreamcast не может кодировать все эти форматы одновременно, поэтому у GPU и аудиопроцессора есть регистр Image Mode, который указывает какие аудио/видео шины должны быть активированы чтобы генерировать нужный сигнал. Процессор проверяет тип подключенного кабеля (проверяя какие "select bits" пины видео коннектора подключены) и записывает нужные значения в регистр GPU. Эти значения так же передаются аудиопроцессору.

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


Previous: 3. Процессор

Next: 5. Звук


Rodrigo Copetti © 2026 RSS Feed

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

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