DirectX已经抛弃了DDraw,那么如果使用D3D来进行2D游戏的开发呢?

HashCodeWithJava 2004-10-18 02:59:45
我已经做的游戏都是基于DirectDraw上的开发,现在MS已经说明不再对DDraw进行更新了,那么以后的2D游戏怎么做呢?D3D如何做2D游戏?能不能给我指明一个方向?

谢谢指教!!!
...全文
882 31 打赏 收藏 举报
写回复
31 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
myling 2004-10-28
听听看看
  • 打赏
  • 举报
回复
stonepeter 2004-10-28
Managed DirectX® 9 Kick Start: Graphics and Game Programming
这本书要从这个地址下载了
http://www.glartgallery.com/MDXKickStart.rar
  • 打赏
  • 举报
回复
社会栋梁 2004-10-27
接受新事物
只要快,表现能力加强,容易学习(其实都差不多),什么不都一样吗?如果哪天MS的东西落后了,不也得放弃吗?
  • 打赏
  • 举报
回复
bigbook2000 2004-10-26
晕死了

ddraw是什么?只是个设备接口,这个接口只是初始化一下就好了,而我们在游戏中最重要的操作是Surface。

d3d也有Surface接口,而且是基本接口,在d3d下面做2D游戏再简单不过了,初始化的时候把创建ddraw改为创建d3d,然后生成Surface,其他的都一样了(原理差不多,都是从一个Surface拷贝到另一个Surface上)。而且支持显卡硬操作。

怎么这么多人对ddraw念念不忘阿
  • 打赏
  • 举报
回复
贝笨33 2004-10-26
学习中。。。
  • 打赏
  • 举报
回复
stonepeter 2004-10-26
MDX Kick Start电子书下载(经典)
http://www.fixdown.net/soft/14203.asp?soft=scdown
  • 打赏
  • 举报
回复
stonepeter 2004-10-25
Managed DirectX9 Kick Start: Graphics and Game Programming中的PartV:2D Graphics这一部分认D真地讨论了两种在DX9下使用2D图形的两种方法
1、使用Sprite等
2、使用DirectDraw
  • 打赏
  • 举报
回复
寻开心 2004-10-25
呵呵。
说白了就是两个事情
1 喜欢用DirectDraw的就继续用DirectDraw7,dx9等新版本向前兼容老版本
但是,你不能在试用dw7的同时D3D9这样的东西,否则会冲突
你试用dw7的同时用3d就和d3d7来配合
因为在dx8以后dw和d3d集成在一起叫做DirectGraphics了,试用DW7的同时使用它就会产生冲突

2 使用3d的来表现2d的,方法有,也不复杂,但是要换一种脑袋来想解决问题的方法
  • 打赏
  • 举报
回复
HashCodeWithJava 2004-10-23
老大,我是这个网站的专栏作家...

(脸红了)
  • 打赏
  • 举报
回复
gddsky 2004-10-22
http://www.gddsky.com/File/GESurface/GESurface.htm
几年前做的一个比较古老的东西,献丑了。
  • 打赏
  • 举报
回复
寻开心 2004-10-22
http://www.gameres.com/Articles/Program/Visual/2D/2Drender.htm
没事就多上这个网站上去看看吧
这些最基本的东西早就有答案的了
  • 打赏
  • 举报
回复
fycom200 2004-10-21
收藏
  • 打赏
  • 举报
回复
lly20000 2004-10-21
基本上可以通过D3DSprite来实现过去的精灵动画 里面也有blit 其实在D3D中实现2d有很多方法 比如精灵动画就可以用D3Dsprite 或者billboard来做 方法很多 就看你怎么用了
  • 打赏
  • 举报
回复
李海辰 2004-10-21
其实就是 D3D 啦,使用 RHW 顶点或者用正交投影矩阵,文章嘛~~我认为最好的还是 DirectX SDK
  • 打赏
  • 举报
回复
HashCodeWithJava 2004-10-21
大家能告诉我一个讲解了D3D实现2D的资料文章吗?

  • 打赏
  • 举报
回复
HashCodeWithJava 2004-10-20
谢谢各位大哥的指点,我明白了.
  • 打赏
  • 举报
回复
mgphuang 2004-10-20
把3D的Z轴都看成0,不就是2D了吗?关键是3D提供了更多的硬件加速.比较缩放啊,旋转啊,alpha等以前在DDraw里只能使用软件加速的功能,在D3D里可以使用硬件加速来完成.不过对终端用户的要求会高一些.
  • 打赏
  • 举报
回复
李海辰 2004-10-20
啊,忘了告诉你。用 IDirect3DTexture 的 LockRect 方法就可以了。还有别忘了将纹理用 D3DUSAGE_DYNAMIC 创建,锁定的时候某些情况可用 DISCARD 标志。如果是鼠标指针之类的小动画,用动态改变 UV 就可以实现动画了。
  • 打赏
  • 举报
回复
李海辰 2004-10-20
楼主啊~~用 D3D RHW 顶点不就好了吗?不过我推荐你还是使用正交投影矩阵,因为这样可以很好地解决不同分辨率下图片尺寸不同的问题。况且这些计算是硬件搞的,而现在显卡的瓶颈都在纹理填充率上,所以你计算这些东东根本达不到瓶颈,一点都不浪费,反正它闲着也是闲着。

还有,使用 D3D 时将使用显卡的 3D 渲染管道,其速度比用 DDraw 要快很多,一般用 DDraw 顶多达到 60-80 FPS,而你用 D3D 渲染 2D 很轻松就能达到上千 FPS,这个你可以下载炎龙工作室的 Demo 证实。而且,你用 3D 硬件实现的 Alpha Blend,绝对比你 DDraw 计算得快,除此之外,众多的 3D 特效也是 DDraw 无法实现的。

你觉得选哪个更好呢? ^_^
  • 打赏
  • 举报
回复
zengcity 2004-10-19
顶~
  • 打赏
  • 举报
回复
加载更多回复
相关推荐
发帖
游戏开发
加入

8138

社区成员

游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
申请成为版主
帖子事件
创建了帖子
2004-10-18 02:59
社区公告
暂无公告