Interested Article - Режим 7

Снимок экрана демонстрации на SNES , показывающий графический эффект режима 7

Режим 7 — графический режим, появившийся на игровой приставке Super Nintendo Entertainment System . В этом режиме возможно осуществлять масштабирование и поворот слоя заднего плана перед генерацией каждой отдельной строки развёртки , что позволяет при определенной квалификации программиста создавать разнообразные графические эффекты. Самый примечательный из эффектов, которые можно при этом достичь, является эффект перспективы , придаваемый этому слою в результате одновременного масштабирования и поворота. Этот эффект получается за счёт преобразования слоя заднего фона в двухмерную текстурированную горизонтальную плоскость, то есть в результате преобразования её высоты в глубину . Таким образом достигается визуальный эффект трёхмерности пространства.

Интересно, что конкурирующая со SNES приставка Sega Mega Drive изначально не имела таких возможностей, однако с дополнением Sega Mega-CD подобный режим становится доступным и на этой системе. Этот эффект был использован в игре Sonic the Hedgehog CD на уровнях Special Stages. Также подобным режимом обладала портативная система Atari Lynx и Game Boy Advance .

Применение

Игра F-Zero, работающая в режиме 7

Рендеринг наподобие режима 7 довольно часто использовался на системах, обладавших значительными мощностями работы с двухмерной графикой , и не имевших специальной поддержки трёхмерной графики . Среди классических игр на игровых приставках, использующих преимущества режима 7: F-Zero , Teenage Mutant Ninja Turtles: Turtles in Time , Super Castlevania IV , Secret of Mana , Secret of Evermore , Final Fantasy IV , Final Fantasy V , Final Fantasy VI , Super Mario RPG: Legend of the Seven Stars , Super Mario Kart , Super Mario World , Super Star Wars , Chrono Trigger , ActRaiser , Kirby Super Star , Axelay и The Legend of Zelda: A Link to the Past . Многие из этих игр были позднее портированы на Game Boy Advance с использованием схожего графического приёма. Также с использованием режимов, аналогичных режиму 7, было создано множество эксклюзивных для GBA игр.

Описание

Приставка SNES имеет восемь различных графических режимов, нумерованных от 0 до 7 . Последний из них (режим заднего плана 7) позволяет использовать всего один слой, который возможно масштабировать и вращать. Портативные системы Game Boy Advance и Nintendo DS поддерживают поворот и масштабирование традиционных для приставок Nintendo плиточных задних фонов под номерами 1 и 2, а также поворот и масштабирование растра в режимах с 3 по 5. Однако, последние редко использовались в GBA ввиду технических ограничений . На каждом устройстве, поддерживающем режим 7, возможно производить операции вращения и/или масштабирования во время гашения обратного хода строчной развёртки, что позволяло отображать горизонтальную плоскость с эффектом перспективы. Именно эта особенность стала «визитной карточкой» режима 7. Возможно достижение более сложных эффектов типа полупрозрачности/затуманивания в результате применения других уравнений для вычислений положения, масштабирования и поворота для каждой строки развёртки. Неверно представление о режиме 7 как о подходящем только для гоночных игр, так как он также широко использовался для отображения «небесных» сцен в ролевых играх, подобных Final Fantasy VI от Square . Режим 7 позволял разработчикам достичь эффекта бесконечно растягивающегося мира.

На SNES при определенной параметризации режима 7 возможно расположение пикселей заднего фона поверх спрайтов. Это использовалось, например, в уровне 2 игры Contra III: The Alien Wars (персонажи и иные объекты проходили под мостами), а также в Super Mario Kart при ситуации, когда персонаж падает за границы уровня. На GBA подобный эффект может быть достигнут в режиме 2, который поддерживает две масштабируемые и вращаемые плоскости: для достижения подобного эффекта достаточно поместить спрайт между этими плоскостями.

Многие игры на ПК , самые известные из которых Wacky Wheels и , используют программную реализацию режима 7, что объясняет их визуальное подобие. Для программы Multimedia Fusion от Clickteam существует расширение «Mode 7», позволяющее разработчикам использовать эту технологию.

Во время популярности SNES, режим 7 часто использовался как средство повышения продаж приставки ( Nintendo Power , SNES Player’s Guide). Так в Teenage Mutant Ninja Turtles: Turtles in Time , портированной с аркадных автоматов , один из уровней был изменен с традиционного скроллинга на использование режима 7.

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

Математической основой режима 7 является преобразование экранных координат в координаты заднего фона с использованием двумерных матриц перехода :

где — координаты текстуры заднего фона; — экранные координаты; — горизонтальное и вертикальное смещение соответственно; — координаты положения наблюдателя относительно текстуры.

Коэффициенты перехода выбираются таким образом :

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

Все операции выполняются в 16-битных числах с признаком знака с фиксированным положением точки, однако смещения ограничены до 13 бит. Положение точки — между 7 и 8 битами .

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

Ограничения

Режим 7 распространяется только на задний фон и не распространяется на спрайты. По этой причине любой объект, который не должен вращаться одновременно с задним фоном, должен быть спрайтом, даже если такой объект должен номинально рассматриваться как элемент заднего фона, например, неподвижные платформы. Разработчики игры должны предусматривать спрайты для подобных объектов. Например, в Super Castlevania IV некоторые боссы (такие, как большой голем Koranot) вращаются. Технически эти боссы выполнены в виде вращающегося заднего фона, тогда как платформы, на которых может стоять протагонист , являются спрайтами. Этот метод, за исключением очевидных улучшений, во многом аналогичен способу отображения боссов крупных размеров на NES , который позволял достичь этого без уменьшения быстродействия игры и без графического артефакта мигания посредством помещения босса на задний фон, где он перемещался и действовал. Оба примера с обеих систем работоспособны только при помещении объектов в ту же горизонтальную плоскость, что и движущийся объект. Например в обеих системах пол, потолок и область вывода набранных очков и т. п. могут технически являться частью заднего фона, несмотря на их номинальное расположение вне области протекания непосредственно игрового процесса. Если игре требуется полный экран, эти области могут быть выполнены в виде спрайтов, однако это может приводить к снижению быстродействия игры.

Так как режим 7 не распространяется на спрайты, то каждый «размер» данного спрайта на определенном удалении от наблюдателя должен быть предварительно нарисован. Из-за этого можно наблюдать скачкообразное изменение размеров спрайта, например, при приближении или удалении от наблюдателя. Эффект можно наблюдать, например, в Super Mario Kart или F-Zero на любых объектах в процессе игры или в Final Fantasy VI при перемещении вертикально по карте при наличии воздушного корабля в зоне видимости.

Для того, чтобы избежать ручного рисования каждого спрайта, в некоторые картриджи , например Super Mario World 2: Yoshi’s Island , устанавливался специализированный процессор Super FX 2 , который делал это на аппаратном уровне. Значительная работа для обхода данного ограничения проведена Contra III: The Alien Wars в сцене битвы со вторым боссом, а также в битве против Reznor (платформы и стены), Iggy (боевая платформа), Larry (платформа) Morton, Ludwig, Roy и Bowser в игре Super Mario World . В этих примерах босс — задний фон и поэтому вращается посредством режима 7, область подсчета очков также является задним фоном, однако пол боевой сцены, равно как протагонист и пули, является спрайтом и перерисовывается под разными углами соответственно вращению игрока. Однако, ограничением является то, что за один раз возможна работа лишь с одним спрайтом.

Но есть и исключения из эффектов, подобных режиму 7, относительно спрайтов, нарисованных вручную или внешними процессорами. В играх Tales of Phantasia и Star Ocean частично рендеринг спрайтов происходит в реальном времени полностью программно. Так в Tales of Phantasia — это эффект вертикального масштабирования спрайта, когда он «входит» в слот для записи. В Star Ocean — это эффект «раздавливания» при извлечении предметов из открытого ящика с сокровищами. Поскольку для отображения таких эффектов требуются дополнительные плитки , а также ввиду других ресурсоемких особенностей данных игр (обе используют вариант потокового воспроизведения звука для обхода ограничений микросхемы SPC700 , а также, как и другие RPG высшей категории на SNES, используют пропорциональный шрифт ), применение этих эффектов возможно лишь в нескольких ситуациях.

Аппаратная реализация

Две микросхемы PPU (picture-processing unit, англ. блок обработки изображения ) приставки SNES используют по 8-битной микросхеме ОЗУ объёмом 32 кБ . В ходе одного цикла один PPU имеет доступ к массиву тайлов (тайлы 128х128), второй PPU имеет доступ к сетке тайлов (256 тайлов, каждый 8х8 пикселов по 256 цветов).

Другие реализации

Приставка Sega Mega Drive /Genesis не имеет аналогичных режиму 7 аппаратных возможностей. Однако подобный режим стал доступен с дополнением Sega Mega-CD , который использован на уровнях Special Stages игры Sonic the Hedgehog CD . Но, как и в случае с Tales of Phantasia и Star Ocean, некоторые эффекты со спрайтами также могут быть полностью реализованы разработчиком игры программно. В результате некоторые подобные эффекты использовались в играх типа Castlevania: Bloodlines , The Adventures of Batman and Robin , , Alien Soldier , Red Zone , Contra: Hard Corps и на других играх Sega Mega Drive . В дополнении Sega 32X были реализованы не только возможности двумерной графики, но и базовые возможности трёхмерной графики. Как следствие, использование эффектов типа масштабирования и поворота стало вполне типичным в играх типа Knuckles’ Chaotix , которая, помимо прочего, стала первой в серии игр Sonic the Hedgehog с реализацией полигональных уровней Special Stages.

См. также

Ссылки

  • — общее описание режима 7.
  • — теоретическое обоснование режима 7.
  • 2 февраля 2013 года. — популярное описание режима 7.
  • — реализация геометрической части режима 7 средствами Adobe Flash .

Примечания

  1. . Дата обращения: 28 января 2013. Архивировано из 2 февраля 2013 года.
  2. . Дата обращения: 28 января 2013. Архивировано из 2 февраля 2013 года.
  3. . Дата обращения: 28 января 2013. Архивировано из 21 июня 2009 года.
  4. . Дата обращения: 22 января 2013. 29 января 2013 года.
  5. . Дата обращения: 28 января 2013. Архивировано из 2 февраля 2013 года.
  6. . Дата обращения: 28 января 2013. Архивировано из 2 февраля 2013 года.
Источник —

Same as Режим 7