Board logo

标题: [专题讨论] MD主机实现图像旋转缩放的方式 [打印本页]

作者: md2    时间: 2016-2-23 21:31     标题: MD主机实现图像旋转缩放的方式

http://www.matrix67.com/blog/archives/5453

简单说就是利用扫描线的平移和Y轴的平移来实现旋转效果
完全不涉及旋转


不过缩放还是不知道,老街机有一种抽线方式实现缩小,但是财宝那些游戏绝对是插值算出来的

[ 本帖最后由 md2 于 2016-2-23 22:27 编辑 ]
作者: xpressure    时间: 2016-2-23 22:17

谁说MD不能旋转缩放的? MD不能硬件旋转缩放,但是可以软件旋转缩放,玩玩mega turrican仔细看下, 受限于cpu运算能力,做这种软件运算,活动块不能大

如果不考虑游戏其他运算,单做个旋转一点问题也没:
http://v.youku.com/v_show/id_XNzQ4ODM0MTM2.html  3分32秒,别跟我说是播片

[ 本帖最后由 xpressure 于 2016-2-23 22:27 编辑 ]
作者: md2    时间: 2016-2-23 22:31

引用:
原帖由 xpressure 于 2016-2-23 22:17 发表
谁说MD不能旋转缩放的? MD不能硬件旋转缩放,但是可以软件旋转缩放,玩玩mega turrican仔细看下, 受限于cpu运算能力,做这种软件运算,活动块不能大

如果不考虑游戏其他运算,单做个旋转一点问题也没:
http:/ ...
没有说的那么简单,卡带机的图像处理是基于扫描线的,并不会读入整个图片到内存里,因此必须配合显示芯片的原理做算法才可以。
作者: 啤酒    时间: 2016-2-27 13:27

posted by wap, platform: iPhone
引用:
原帖由 @xpressure  于 2016-2-23 22:17 发表
谁说MD不能旋转缩放的? MD不能硬件旋转缩放,但是可以软件旋转缩放,玩玩mega turrican仔细看下, 受限于cpu运算能力,做这种软件运算,活动块不能大

如果不考虑游戏其他运算,单做个旋转一点问题也没:
http://v.youku.com/v_show/id_XNzQ4ODM0MTM2.html  3分32秒,别跟我说是播片
这特效惊了,sfc上好评的银河风暴完全可以做啊。其实ff6的画面发色低,更可以胜任,飞空艇漫游魔导装甲漫步陆行鸟穿越的特效都可以
作者: 鸡巴甩甩    时间: 2016-2-27 16:02

引用:
原帖由 啤酒 于 2016-2-27 13:27 发表
posted by wap, platform: iPhone
这特效惊了,sfc上好评的银河风暴完全可以做啊。其实ff6的画面发色低,更可以胜任,飞空艇漫游魔导装甲漫步陆行鸟穿越的特效都可以
MD的SONIC3D的跑钻石舞台已经有银河风暴的技术了。
作者: KainX    时间: 2016-2-28 13:31

MD一些游戏里会出现旋转与屏幕平行的场景/活动快,平面不跟屏幕平行就不行了。
作者: SONIC3D    时间: 2016-2-28 19:41

引用:
原帖由 md2 于 2016-2-23 22:31 发表


没有说的那么简单,卡带机的图像处理是基于扫描线的,并不会读入整个图片到内存里,因此必须配合显示芯片的原理做算法才可以。
会把整个Tile图读入VRAM的,基于扫描线是指VDP的显示输出为行缓冲型,但图都还是在VRAM中的。你开个带调试的模拟器多看看。

不能旋转指的是不能硬件旋转,硬件旋转的意思是,这张图在VRAM中还是原始的方向,但是VDP输出到行缓冲时的画面是旋转后的对应画面。

虽然不能通过图形硬件旋转,但这不代表不能通过软件方式每贞改变VRAM中的像素对应的数据,来实现软件旋转。也就是说,让图在VRAM中就每贞变化,而VDP只将其作为一般的Tile图以正常方向显示到输出画面。

典型例子是Red Zone,实现软件全屏和软件Sprite旋转。

一般游戏不这样做的原因是性能优化较为困难,而且不利于代码在不同主机间的移植,总而言之,时间代价大于游戏可以获得的收益,不经济。所以一般是用扫描线作行偏移描画,然后配合列偏移描画来实现你给的链接中的skew操作,这个就属于利用有限的图形硬件特性来实现变通的旋转。但对MD和大多数2D图形加速的游戏机来说,行偏移描画可以精确到一根扫描线,也就是1像素的精度,但列偏移却不能做到这样的精度,所以你会看到魂斗罗第一关中途的巨人倾斜身体时,纵向是一条一条的。
作者: NintendoVii    时间: 2016-2-29 07:13

posted by wap, platform: SONY Z1
引用:
原帖由 @xpressure  于 2016-2-23 22:17 发表
谁说MD不能旋转缩放的? MD不能硬件旋转缩放,但是可以软件旋转缩放,玩玩mega turrican仔细看下, 受限于cpu运算能力,做这种软件运算,活动块不能大

如果不考虑游戏其他运算,单做个旋转一点问题也没:
http://v.youku.com/v_show/id_XNzQ4ODM0MTM2.html  3分32秒,别跟我说是播片
看了下,虽然挺牛逼的,但是还是明显不如sfc啊,sfc背景搞成3D的,前景还能做比较多的小活动块
作者: bbsbot    时间: 2016-2-29 08:27

SONIC3D实力科普!
作者: hisame    时间: 2016-3-1 12:40     标题: 回复 2# 的帖子

纯粹软件计算的缩放、旋转,不能广泛应用于游戏开发平台,而且很耗CPU时间。
根据你的理论,FC的6502也可以做3D渲染图,没什么大不了的。内存不够用我们可以调用硬盘嘛。
作者: hisame    时间: 2016-3-1 12:49     标题: 回复 2# 的帖子

纯粹软件计算的缩放、旋转,不能广泛应用于游戏开发平台,而且很耗CPU时间。
根据你的理论,FC的6502也可以做3D渲染图,没什么大不了的。内存不够用我们可以调用硬盘嘛。




欢迎光临 TGFC Lifestyle (http://club.tgfcer.com/) Powered by Discuz! 6.0.0