游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3255|回复: 3

DirectDraw打造极速图形引擎(二)

[复制链接]

41

主题

148

帖子

184

积分

注册会员

Rank: 2

积分
184
QQ
发表于 2003-12-1 19:23:00 | 显示全部楼层 |阅读模式
      上次我简要介绍了MMX全速加速下的Alpha混合新方法,本来这次应该为大家带来其他主题的内容。不过上次留了个尾巴,没有加如COLORKEY和CLIP功能,而且在具体实践过程中,半透明是最好写的,当我把其他级的混合函数写完时,我感到需要把这些函数介绍给大家,目的是希望大家能直接应用(注意不是理解),因为实在是不好写,不注意就会出错,我写的全部代码在AresAlpha.cpp中,大家只需要稍做修改就可以用在自己的程序中,如果还是觉得困难,请等待我的Ares游戏引擎的发布,目前正在做输入部分的接口,正在加速做剩下的部分
    因为现在所有的精力都在完善引擎的工作中,所以写文档的时间很少,上次有不少朋友看了我文章后加了我的QQ(35830152),我很高兴认识你们,和你们一起家流成长,有朋友问我现在有什么产品,遗憾的是由于其他原因,我的编程工作时断时续,没有太多的作品,我找到我高中时用Borland C++写的2个留下的程序,这次也传上来,希望对初学DirectX编程的朋友有帮助,由于以前刚从DOS平台转到WINDOWS平台搞开发,所以面向对象的概念很淡薄,后果就是,我现在都不愿意看以前的代码(留着就是做个纪念)。但我相信对没接触过游戏编程的朋友来说,还是可以凑活看看的。
    这次原理的东西我不想说,等我的引擎出来后,我会写个详细的文档介绍。有朋友想把它放在主页上下载我也欢迎,因为我的代码将是开放和免费的,不过引擎做完前代码还暂时公布。
    最后说一下附件中的东西。有一个Euho.exe的东西是一个小车,你选中后可以点左键移动它,左键可以攻击电脑,右键取消选择,电脑会一直试图攻击你。还有个没可执行文件的是地图编辑器,不过我没Borland C++现在,所以无法编译,有兴趣的朋友就凑活看看,不然就Delete好了。最后一个Rainbow.exe是我的Alpha效果的DEMO,由于时间仓促,没有做什么花样,也没怎么优化,大家就当看看我的代码能不能有效的执行好了。推荐的源代码有AresAlpha.cpp.
    好了,我要工作了,这次就说到这里,下次我给大家带来的就是完整的Ares引擎,你会发现它确实能减少你很多工作量,关键是它屏蔽了DirectDraw的复杂性。上次有朋友说有GDI+或硬件加速,用D3D做Alpha混合,MMX做旋转就吃力了等等。我想说的是,我写的是2D引擎,而DirectDraw是不支持Alpha硬件加速的(不是说D3D),如果支持也不会有这么多人研究了,还有旋转效果DirectDraw的Blt是硬件支持的,所以我也不会用MMX去做,做了也没效果,因为MMX根本不适合。还有即使有硬件实现Alpha混合或有GDI+(我没用过),研究快速的实现算法本身就比较有趣,大家愉快。

sf_2003121192333.rar

117.05 KB, 下载次数:

8

主题

553

帖子

560

积分

高级会员

Rank: 4

积分
560
发表于 2003-12-1 20:52:00 | 显示全部楼层

Re:DirectDraw打造极速图形引擎(二)

朋友,我想关于2D游戏(引擎),你理解和我的理解有些不同,我把我的看法列出来,大家也一起讨论一下。
首先”2D游戏“这个名词首先着重于”游戏“,其次才是2D。2D是游戏的表现形式,所以说3D API仍然适合与2D游戏,我的意思就是并不是只有3D游戏才能使用纹理贴图,光照等。其次,毕竟经过这么多年的发展,PC上的图形子系统已经非常强大了,我记得我读高中时,能有一块voodoo是多么值得炫耀的事情,可是看看现在,整和的图形芯片都已经具有了顶点可编程的能力。如果你放弃从Riva128开始就廉价的满街都是alpha blending,从GeForce256开始就已经不在奢侈的hardware TnL,而让宝贵CPU去计算这些本不该属于它计算的东西,让拥挤不堪的BUS去负担这些本可以避免的Data Transfer,就不能说你合理的用上了硬件资源。

8

主题

553

帖子

560

积分

高级会员

Rank: 4

积分
560
发表于 2003-12-1 21:01:00 | 显示全部楼层

Re:DirectDraw打造极速图形引擎(二)

如果是针对初学者,一个最重要的特点就是简单,容易控制。
GDI+的接口非常漂亮,这点对初学者来说制关重要。
补充一点,我说的旋转是任意角度的旋转,不是90,180。虽然DD留了任意角度旋转的接口,可惜没有任何图形厂商的驱动支持,呵呵,可怜的DDraw已经被大家抛弃了。

41

主题

148

帖子

184

积分

注册会员

Rank: 2

积分
184
QQ
 楼主| 发表于 2003-12-4 16:50:00 | 显示全部楼层

Re: DirectDraw打造极速图形引擎(二)

真是对不起大家,因为我是在学校的网吧上网,机器里虽然装了还原卡,但是很多机器上都有FUNLOVE病毒.下次我会想办法解决这个问题的.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-2-24 14:34

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表