学习游戏开发,先学OpenGL再学Direct3D还是直接学习Direct3D?

查看:  11191 | 回复:  30
打印  上一主题  下一主题

学习游戏开发,先学OpenGL再学Direct3D还是直接学习Direct3D? [复制链接]

   

Rank: 5Rank: 5

注册时间
2012-10-22
积分
60
跳转到指定楼层
1#
  发表于 2012-10-22 22:30:01  | 只看该作者  | 倒序浏览
学习游戏开发,先学OpenGL再学Direct3D还是直接学习Direct3D?

本人为在校大学生,刚刚开始学习Direct3D,但是发现Direct3D网上的教程远没有OpenGL多(主要现在学习遇到瓶颈,周围没人帮解答),然而从事游戏开发方面,在游戏上又是Direct3D的天下,想请教下各位大大们。是先学OpenGL再学Direct3D还是直接学习Direct3D。

如果是先学OpenGL再学Direct3D,那opengl学到什么程度再学Direct3D?

对了现在学习Direct3D正在看《DirectX 9.0 3D游戏开发编程基础》...
 
   

Rank: 16Rank: 16Rank: 16Rank: 16

注册时间
2010-5-11
积分
2338
2#
  发表于 2012-10-22 22:50:56  | 只看该作者
先读好书,同学。。。
 
 
   

Rank: 12Rank: 12Rank: 12

注册时间
2012-6-19
积分
747
3#
  发表于 2012-10-22 23:32:04  | 只看该作者
opengl和Directx学一个就可以了,DX的资料还是很多的啊。但是现在在游戏公司直接使用DX的机会很少,感觉CODING能力才是关键。
 
 
   

Rank: 8Rank: 8

注册时间
2012-7-5
积分
172
4#
  发表于 2012-10-24 15:22:37  | 只看该作者
本帖最后由 goteet 于 2012-10-24 15:25 编辑

使用dx 写起程序来,只要看完sdk的文档,基本都能写出来。
使用gl 你对着wiki一模一样的代码你都不一定能出效果。

包括一些比较基础的变换,管线的内容,dx的文档都有介绍,不用单独去找,我觉得直接看dx会比较好。
如果使用网教程的话-  -我什么建议也没有,你当我“就看看,不说话。”。
我就看看,我不说话。
 
   

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

注册时间
2011-9-19
积分
6783
5#
  发表于 2012-10-24 21:46:31  | 只看该作者
我现在在读硕,研究方向是布料模拟,以后也准备投身游戏行业。我首先学了opengl 红宝书、蓝宝书。现在在看橙宝书(OpenGL Shading Language),感觉是和红宝书类似的手册,比较难读,于是转看OpenGL 4.0 Shading Language Cookbook。现在才刚开头。偏学术的工作还是用opengl的多一点,所以我先学的 GL。我觉得学OpenGL不妨碍学DX,反而可以有所促进。

我看完红蓝宝书之后看了楼主正在看的龙书(龙书还有DX10 HLLSL等版本,官网上有)。由于前面的opegl经验,龙书很快看完了(过了一遍,例子没动手敲)。感觉有GL基础看DX会快很多。DX几乎就是为做游戏而生的,很多方便的API是OpenGL没有,不说别的在OpenGL里显示几个字母、加载几张纹理图片、加载几何模型就比在DX里麻烦许多。不过这些麻烦也促使我去自己动手实现这些个“方便”的API,其中可以学到不少好东西。NEHE的网站当然是不错的参考资料。

关于OpenGL游戏编程书籍
NEHE网站上有本推荐的Beginning OpenGL Game Programming.(封面一个红的龙头张着大嘴),楼主不妨看看。现在又有一本More OpenGL Game Programming.

另外我还有一本停止印刷的OpenGL游戏编程(徐明亮),虽然其中部分代码明晃晃地抄了NEHE等其它网上的资料,虽然书里面主要是代码,但也能从这本不怎么地的书中学到了粒子系统、场景漫游等等技术细节。

还有一些不错的网站和个人博客,我权限不够,没法粘URL。Sorry。
 
 
   

Rank: 12Rank: 12Rank: 12

注册时间
2012-1-8
积分
994
6#
  发表于 2012-10-24 22:21:14  | 只看该作者
坚持OpenGL!!
 
 
   

Rank: 9Rank: 9Rank: 9

注册时间
2012-10-13
积分
207
7#
  发表于 2012-10-31 19:53:26  | 只看该作者
个人感觉学一个就可以了,另外一个就很快通了,毕业原理差不多。就像语言一样,你学会了C++,难道还要从头学什delphi,JAVA吗?不用了,一个星期搞定。
 
 
   

Rank: 5Rank: 5

注册时间
2012-10-22
积分
60
8#
  发表于 2012-11-5 20:20:34  | 只看该作者
cybercser 发表于 2012-10-24 21:46 
我现在在读硕,研究方向是布料模拟,以后也准备投身游戏行业。我首先学了opengl 红宝书、蓝宝书。现在在看 ...

感谢回复~  如果学了opengl再学DX,opengl要学到什么程度才行?
我现在龙书才看了一半,主要是他的主要流程还是没有搞明白。知识点很乱,不知道从何下手,离开书本就什么也弄不出来0.0
 
 
   

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

注册时间
2011-9-19
积分
6783
9#
  发表于 2012-11-6 21:19:04  | 只看该作者
臨風輕嘆 发表于 2012-11-5 20:20 
感谢回复~  如果学了opengl再学DX,opengl要学到什么程度才行?
我现在龙书才看了一半,主要是他的主要流 ...

我也不是什么大牛,说的不一定对。楼主择其善者而从之。红宝书蓝宝书目前涵盖了OpenGL2.1之前的内容,老式渲染管线+GLSL皮毛。如果通读过这两本(红宝书乃手册比较枯燥,需要耐心),加之3D图形学的基础(至少懂得几何变换、光照模型之类的基础知识),看龙书应该没什么障碍,甚至会有似曾相识的感觉。从体例来说,我感觉红蓝宝书和龙书讲的都差不多,无非是流水线、基本图元画法、颜色、光照、纹理、缓冲器等等(基本原理都是一样的嘛)。如果有“乱”的感觉,说明3D图形学的基础还不大牢吧,冒犯了,见谅。

我的基本观点是:做游戏,最靠谱的还是DX。学OpenGL不妨碍你理解DX。3D基础是王道,学好了基础,DX、OpenGL任选一样、或者钗黛双收都行。
 
 
   

Rank: 5Rank: 5

注册时间
2012-10-22
积分
60
10#
  发表于 2012-11-7 15:21:13  | 只看该作者
cybercser 发表于 2012-11-6 21:19 
我也不是什么大牛,说的不一定对。楼主择其善者而从之。红宝书蓝宝书目前涵盖了OpenGL2.1之前的内容,老 ...

3D图形学?我没看过哎0.0还要先看看图形学的?悲剧,我本来打算看完龙书再看图形学的...看来是我本末倒置了
 
 
   

Rank: 4

注册时间
2013-1-4
积分
44
11#
  发表于 2013-1-4 16:40:16  | 只看该作者
本人也是新手,就是不知道学opengl应该看什么书
 
 
   

Rank: 28Rank: 28Rank: 28Rank: 28Rank: 28Rank: 28Rank: 28

注册时间
2007-6-11
积分
25658
12#
  发表于 2013-1-4 21:29:16  | 只看该作者
英语学好吧……
 
 
   

Rank: 13Rank: 13Rank: 13Rank: 13

注册时间
2012-5-12
积分
1562
13#
  发表于 2013-1-6 21:11:41  | 只看该作者
本帖最后由 elanchao 于 2013-1-6 21:16 编辑

我就稍微感慨下,搞3D和图形都成大坑了,还有那么多人投进来。
关于Direct3D和OpenGL到底学那个,我的观点就是学Direct3D要比OpenGL轻松多了,现在你看关于OpenGL的书很多,好像Direct3D的书很少?事实上Direct3D都不需要书了,人家自己有详细的SDK文档,写的密密麻麻的(你在市面上买的某些书就是抄SDK文档的,一模一样);另外Direct3D的SDK做了很多其他的工作,让程序员专心图形,而OpenGL只管渲染,程序员要做的工作非常的多(亲身体会),另外市面上的书还有网络上的很多关于OpenGL的内容都是老旧的Compatibility profile的内容(比如立即模式这些老掉牙的API)。
不过到后来上面的都是废话,简单通俗的说Direct3D和OpenGL都是***为显卡跑腿的,能有什么太大的区别,有很多地方非常的相似。Coding能力和图形算法知识我觉得才是本质要掌握的吧。

ps:同上面,大学生还是好好读书吧,高数、线代英语别又挂科了
 
 
   

Rank: 16Rank: 16Rank: 16Rank: 16

注册时间
2011-12-31
积分
2383
14#
  发表于 2013-1-6 23:50:52  | 只看该作者
游戏开发啊,opengl和D3D都可以不学,那是用来做游戏引擎开发的。你还不如直接学习某些成熟的引擎呢。
 
 
   

版主

RenderGuy

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

注册时间
2010-11-4
积分
5570
15#
  发表于 2013-1-8 14:23:43  | 只看该作者
国内目前学学unity和csharp应该好进圈
 
 
   

Rank: 16Rank: 16Rank: 16Rank: 16

注册时间
2012-10-8
积分
2882
16#
  发表于 2013-1-8 17:28:45  | 只看该作者
Baesky 发表于 2013-1-8 14:23 
国内目前学学unity和csharp应该好进圈

那玩意不是给美术用的么...
要说新人我还是推荐DX学起..经典的龙书 + DXSDK安装包里面的例子..妥妥的
 
 
   

Rank: 9Rank: 9Rank: 9

注册时间
2012-2-10
积分
310
17#
  发表于 2013-1-9 00:52:44  | 只看该作者
新人很少有机会去编引擎,所以DX和OPENGL先任学一个。如果接触不到项目的话,先不用很深入得学,学了也白学。跟着项目学是最快的。

Code能力很重要,Code思想也很重要。
 
 
   

Rank: 28Rank: 28Rank: 28Rank: 28Rank: 28Rank: 28Rank: 28

注册时间
2007-6-11
积分
25658
18#
  发表于 2013-1-9 14:02:39  | 只看该作者
再来罗嗦几句。

我也算从学GL和DX开始的过来人,真心觉得,学GL适合入门图形学,为什么?简单清晰明了,搞个glut的小程序就可以开始学用GL的API了,迅速理解实时渲染,然后就可以照着一些方法开始实现一些图形效果了。
其实到这里,和游戏本身还有十万八千里,因为游戏本身比GL或者DX这些API范围更加广泛,所以如果想要真正的搞游戏,不如从某个游戏引擎,比如火热的Unity开始学,理解各个系统模块的交互和组成,先形成一种大局观。单一的学GL或者DX真心不够,除非你的工作只是和图形学相关的,或者以后决定只搞游戏渲染这个一块,可以理解,这样对于自身也是个巨大的局限,说真话,如今搞渲染的真心没啥出路。

到了最后就是两个问题,就是1)英语能力2)足够的体力和耐心,只要有2个,基本上就可以了,学啥干啥都一样了,殊途同归。
 
 
   

Rank: 12Rank: 12Rank: 12

注册时间
2012-2-28
积分
772
19#
  发表于 2013-1-19 22:14:13  | 只看该作者
Jedimaster 发表于 2013-1-9 14:02 
再来罗嗦几句。

我也算从学GL和DX开始的过来人,真心觉得,学GL适合入门图形学,为什么?简单清晰明了,搞 ...

顶一下。
顺便再加一条,抽象思维(高数,线代)能力。
 
 
   

Rank: 9Rank: 9Rank: 9

注册时间
2012-2-28
积分
200
20#
  发表于 2013-1-21 12:49:41  | 只看该作者
学游戏不一定一上来就学DX和OPENGL,可以自己试着用GDI实现一套流水线。
 
 
   

Rank: 16Rank: 16Rank: 16Rank: 16

注册时间
2011-12-31
积分
2383
21#
  发表于 2013-1-21 13:21:17  | 只看该作者
waynewying 发表于 2013-1-21 12:49 
学游戏不一定一上来就学DX和OPENGL,可以自己试着用GDI实现一套流水线。

你这哪是学“游戏”,明明是学“图形”的路子。。
 
 
   

Rank: 9Rank: 9Rank: 9

注册时间
2012-2-28
积分
200
22#
  发表于 2013-1-21 15:39:39  | 只看该作者
keyring 发表于 2013-1-21 13:21 
你这哪是学“游戏”,明明是学“图形”的路子。。

呵呵,是的,我的确有些偏图形了。不
 
 
   

Rank: 13Rank: 13Rank: 13Rank: 13

注册时间
2011-5-20
积分
1375
23#
  发表于 2013-1-21 23:05:31  | 只看该作者
个人觉得就绘图而言,OpenGL的API比DirectX要好用一些……
其实国内游戏开发相关的话,DirectX的资料应该是比OpenGL多的。用OpenGL的大部分都是搞图像处理之类的吧……
然后我想说其实这两者都是同一个层面上的东西。举个不恰当的例子,比如说你用windows sdk写2D游戏比较熟练,你改用SDL,甚至是跑到linux里用SDL写游戏也能很快上手。逻辑基本就是一样的,就是绘图函数不同而已。
_(:3」∠)_其实我也是菜鸟
 
 
   
ljb

Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17

注册时间
2010-3-27
积分
4200
24#
  发表于 2013-1-22 12:53:18  | 只看该作者
个人觉得DX的书籍在国内太底端(一大堆)和太高端(GPU系列等),很难找到一本适应面广的。
 
 
   

Rank: 8Rank: 8

注册时间
2013-2-14
积分
122
25#
  发表于 2013-2-15 16:35:09  | 只看该作者
keyring 发表于 2013-1-6 23:50 
游戏开发啊,opengl和D3D都可以不学,那是用来做游戏引擎开发的。你还不如直接学习某些成熟的引擎呢。 ...

有道理。我们的引擎不是商业的,不友好和完善,程序员们倒是比较多机会用到,对于那些商业的,可能就像同事说的只要会“调用”就可以了。
 
 
   

Rank: 9Rank: 9Rank: 9

注册时间
2010-6-27
积分
419
26#
  发表于 2013-2-18 15:48:36  | 只看该作者
本帖最后由 时光先生 于 2013-2-18 15:49 编辑

directx的思维方式和c++较为接近,opengl和c一样。directx比较容易学。
本人的学习过程是先directx,然后opengl,opengl的固定函数逻辑基本没学(相对于dx,个人觉得比较繁琐),直接学了gpu流水线的那套。然后接着学了opengles2.0(相对于opengl不少细节又不一样)。

游戏越来越跨平台化,dx和ogl最终都需要学。先学dx更容易。
 
 
   

Rank: 16Rank: 16Rank: 16Rank: 16

注册时间
2013-3-6
积分
2412
27#
  发表于 2013-3-7 18:00:31  | 只看该作者
我觉得opengl和diect都是相通的,学完一个,另一个也会了
 
 
   

Rank: 9Rank: 9Rank: 9

注册时间
2012-12-7
积分
232
28#
  发表于 2013-3-8 14:20:26  | 只看该作者
我认识的平朋友从这两个方向入门的都有,只要坚持,应该都能成功的哈
 
 
   

Rank: 9Rank: 9Rank: 9

注册时间
2012-12-7
积分
232
29#
  发表于 2013-3-8 14:21:54  | 只看该作者
zhanxiaojian 发表于 2013-3-7 18:00 
我觉得opengl和diect都是相通的,学完一个,另一个也会了

有道理。请问您是学生呢?还是工作中哈
 
 
   

Rank: 12Rank: 12Rank: 12

注册时间
2012-7-10
积分
885
30#
  发表于 2013-3-8 14:57:14  | 只看该作者
游戏开发这两个基本都用不到。。。。。。
2D游戏我见过直接用DX甚至是GDI开发的,但3D游戏就真的很少很少了
用DX和OPENGL感觉就是用来学图形学的
如果以后想做游戏还不如多看看游戏人工智能和软件工程方面的书,做网游还要再加上一个TCP/IP
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值