Mode 7

Mode 7是电子游戏机超级任天堂一種图形方式，可让逐扫描线式的背景层支持旋转与缩放，以此创造大量的不同效果。其中最著名的效果是，通过缩放和旋转背景层来显示透视效果。这种将高度改为深度的变换，将背景层变为二维水平材质贴图平面。如此便可显示三维图形的效果。 Mega Drive的扩展Mega-CD以及Atari Lynx使用了相似的功能。 Mode 7方式渲染通常用于2D性能强劲，但不专门支持3D的旧系统。著名Mode 7游戏有超级任天堂作品《F-Zero》、《天地创造》、《飞行俱乐部》、《耀西的旅行》、《忍者龜4（英语：Teenage Mutant Ninja Turtles: Turtles in Time）》、《恶魔城》、《圣剑传说2》、《圣剑传说3》、《艾薇莫的秘密（英语：Secret of Evermore）》、《最终幻想IV》、《最终幻想V》、《最终幻想VI》、《超级马里奥RPG》、《DinoCity（英语：DinoCity）》、《超級瑪利歐世界》、《超级马里奥赛车》、《超级星球大战（英语：Super Star Wars）》、《时空之轮》、《雷莎出击》、《熱爆賽車（英语：F1 ROC: Race of Champions）》、《迦楼罗王（英语：Skyblazer）》、《时空引导者（英语：The 7th Saga）》、《洛克人7 宿命的对决！》、《超越巅峰》、《星之卡比 超級豪華版》、《银河风暴（英语：Axelay）》和《塞尔达传说 众神的三角力量》。Mode 7方式渲染还用于《音速小子CD》的特定关卡。 超级任天堂游戏机有编号从0至7的8个方式来显示背景层，其中最后一个（背景方式7）只有一个可以缩放和旋转的单层。在Game Boy Advance和任天堂DS 2D图形硬件中，方式1和2可以缩放旋转传统砖块式背景，方式3到5用用来缩放旋转位图（因技术限制，这通常很少在Game Boy Advance中使用）。对于支持此效果的机器，在各扫描线行消隐周期内，可能通过改变缩放/旋转值，绘制一个透视投影平面；这被视作“Mode 7”效果的特征。通过使用其它各行的位置、缩放及旋转方程，可以实现模糊等更复杂的效果。 这种图形方法不仅适用于竞速游戏；它还普遍用于角色扮演游戏的世界地图部分，如史克威尔1994年畅销游戏《最终幻想VI》。效果可让开发者通过制造无垠的远方，来营造庞大世界的效果。 在超级任天堂中，Mode 7的一种变形可让背景层的像素置于子图形上层。比如《魂斗罗精神》（关卡2），《賓尼兔的冒險》的引入画面，以及玩家掉下舞台时的《马里奥赛车》。Game Boy Advance游戏使用Mode 2营造相同效果，其通过提供两个“Mode 7”图层，并将子画面置于两个图层之间。 许多PC游戏，其中以《Wacky Wheels》和《Skunny Kart》最为知名，完全通过软件技术模仿了Mode 7。软件自编写程序Multimedia Fusion发展了“Mode 7”，它可让创作者制作使用相似技术的软件。 在超级任天堂时代，Mode 7是任天堂最喜欢的卖点（《任天堂力量》、《SNES Player's Guide》）。比如街机移植到超级任天堂的游戏《Teenage Mutant Ninja Turtles: Turtles in Time》中，一个关卡就从横向卷轴改为Mode 7。 使用Mode 7图形的平面纹理地图，是由屏幕坐标到背景坐标的2D仿射变换而转换成， [ x ′ y ′ ] = [ a b x 0 c d y 0 ] [ x − x 0 y − y 0 1 ] {\displaystyle {\begin{bmatrix}x'\\y'\end{bmatrix}}={\begin{bmatrix}a&b&x_{0}\\c&d&y_{0}\end{bmatrix}}{\begin{bmatrix}x-x_{0}\\y-y_{0}\\1\end{bmatrix}}} a、b、c和d是转换系数；x和y是屏幕偏移；x0和y0是初始偏移；x'和y'是转换坐标。全部运算都为16位有符号定点数，而全部偏移仅限制在13位。小数点位于7和8位之间。 仿射变换仅允许位移、缩放和剪切效果。许多游戏通过逐扫描线基础，进行创造性的变换矩阵参数操作，产生额外的效果。这种方式可实现伪立体、弯曲的表面，以及变形效果。 Mode 7只能作用于背景，而无法作用于子图形；因此，任何不随背景旋转/缩放的对象肯定是精灵，即使它通常被视为背景一部分，如固定平台等。比如在《超级恶魔城IV》和石巨人等头目的战斗中，移动的头目是背景，而主角所站的区块是子图形。在头目战中，相对于FC通过大号子图形显示大型移动头目，而固有的减慢和闪烁，超级任天堂通过在背景层显示头目的移动和动画，可以产生类似的效果，且效果明显提升。但两个系统示例都只适用在水平面移动的对象。例如，地板、天花板或记分板可以作为FC和超级任天堂游戏的背景，只要它们完全位于游戏区域的“上方”或“下方”。如果需要使用整个屏幕，他们也可以变为子图形，但这可能会让画面减慢。 Mode 7不能用来通过改变子图形“大小”来表示它的“逼近”，特定距离的子图形必须预先绘制，这就是说，人们会看到，当用数量有限的各大小子图形来表示“逼近”时，人们会看到子图形在“跳跃”。这可以在《马里奥赛车》和《HyperZone》当物体靠近时看到，或是《最终幻想VI》乘坐飞空艇垂直升降的画面。 类似的，子图形的“旋转”也要预处理，除非如《超级马里奥 耀西岛》那样由卡带内置的Super FX 2芯片来硬件处理。厂商有一个著名的解决方案，已经在一些游戏中使用，如：《魂斗罗精神》的第二头目战，以及《超级马里奥世界》中和Reznor（墙平台支持）、Iggy（战斗平台）、Larry（也是平台）、Morton、Ludwig、Roy和Bowser战斗。在这些例子中，头目是“背景”所以可以使用Mode 7旋转，记分板位于游戏区域上方，所以也算作背景，但是战斗裂开的地板，连同玩家角色与炮火，都是将各种旋转角度重绘“子图形”。然而，这只允许一次处理一个“子图形”。 在《幻想传说》和《星之海洋》中，Mode 7般的子图形效果既非预先绘制，也非通过外部芯片重现，飞行时的精灵完全由软件重渲染。在《幻想传说》中，玩家子图形在走到存档点时会上下拉伸，以及《星之海洋》中道具“squash”在打开宝箱时会出现“快要跳出来”的效果。因为这样的渲染需要额外的砖块，以及游戏其他地方对系统的高要求（同时使用流式音频绕开SPC700的有限能力，如同最高端的超级任天堂RPG使用可变宽度字体），这种渲染只限于这几种场景。 Mega Drive没有实现Mode 7的类似原生硬件，但Mega-CD扩展补充了这种功能；比如它显著的应用于《音速小子CD》的特定关卡。但是对于《幻想传说》和《星之海洋》的特殊子图形效果，开发商可以通过编程直接为游戏加入类似特技，如《恶魔城 血族》、《蝙蝠侠与罗宾汉》和《魂斗罗·铁血兵团》等游戏使用了类似效果。Super 32X支持2D和基本的3D，所以缩放和旋转效果成为了2D游戏常见要素，如《納克魯斯與卡歐迪克斯》（Knuckles' Chaotix）是索尼克系列首个使用多边形特殊舞台的游戏。 一些Amiga游戏通过程序技巧实现了和mode 7类似的效果，如《Mr. Nutz: Hoppin' Mad》、《Lionheart》、《Obitus》和《Brian the Lion》。 超级任天堂的两个PPU（图形处理单元）芯片使用了两个8位32kB的RAM芯片。在一个周期中，一个PPU存取砖块地图（128×128砖块），另一个PPU存取砖块集（256砖块，256色8×8像素）。 The Next Generation 1996 Lexicon A to Z: Mode 7. Next Generation. No. 15 (Imagine Media). March 1996: 37.  Korth, Martin, GBATEK: LCD I/O Display Control. Retrieved on June 23, 2011.