Direct3D和OpenGL

OpenGL与Direct3D的一点点对比

现在我学了Direct3D,跟去年学的OpenGL对比了一下,发现了一点情况。
OGL是业界标准,许多非Windows操作系统下还找不到D3D
OGL的色彩比D3D的要好,表面更光滑
OGL的函数很有规律,不像D3D的,都是指针method,函数名太长了!!
OGL是右手坐标系,这是数学里用惯了的.D3D虽然也可以改变成右手坐标系,但是需要d3dx9_36.dll的支持
OGL的常用Matrix,如WorldMatrix都封装好了,D3D要自己写。
OGL的绘图方式很灵活,而D3D的则要事先定义好FVF,要等所有信息写进Stream中才绘制。这就使它产生了VertexBuffer和IndexBuffer.好象微软嫌D3D的Buffer不够多?搞的多不好学??看人家OGL,哪里要这个东西?
D3D有好多版本,要是显卡不支持就废柴一垛了。而OGL从几年前就一直没变过,所以大部分显卡都支持。
还有,我发现D3D的半透明功能有很大的问题!!就是两个半透明的物体前后顺序的问题——前面的会被后面的挡住[em11]

但是D3D也有比OGL好的地方:
D3D支持许多格式的图片文件,而OGL载入jpg都得自己写代码。
因为D3D是指针调用模式,所以做D3D的钩子有难度,从而增加了外挂的制作难度。
D3D是DirectX的成员。程序员要实现声音播放可以用DirectMusic,配套用总是好的,而OGL则只能画画
D3D是被微软大力推广的连接库。相反,微软则大力压制OGL(都是Microsoft参与研制出来的产品,待遇怎这么大?)
正因为此,D3D已成为中国大型游戏界的主流(我觉得他们是盲目跟风。其实国外很多游戏都是用OGL)

其实我觉得用Direct3D开发2D游戏还是不错的,因为它支持Alpha透明,而DirectDraw我看都快淘汰了。
以上就是我的概括。大家还有什么要补充的?

[[it] 本帖最后由 flyue 于 2008-2-24 15:58 编辑 [/it]]
<script type=text/javascript> </script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type=text
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值