最全面、最前沿、最专业的游戏研发实战

提供最全面的游戏研发技能分享,让您在最短时间变成高级游戏工程师

查看:0|回复:3

【行业】打算开始学习directX,不知道怎么起步?

 attach_img

5

帖子

6

回复

9

积分
最后登录:
2025-03-30 15:20
注册时间:
2024-07-18 20:15
楼主
  发表于:2025-03-30 16:54:06|查看用户信息

现在大一下学期了,有了点C++和win32窗口基础,打算学这个,之前一直看的是游戏编程大师技巧,里面是directX7.0。

打算换书,不知道该学习9还是11,该看什么样的书,学9用红龙书,又听说9只是为了xp,学11又不知道该看什么书,英语不好。去图书馆看到很多9的书,但是每本又不一样,不太细致。

不知道该怎么学 学哪个版本。还有就是有几个最近遇到的directX问题,百度上也搜不到,希望大家能帮我看下,

问题一:微软官网下载的SDK里有9,10,11的dll和头文件,但是找不到12.因为听说12也出来了。

问题二:我下载的VS2017里安装时候选择的DirectX是哪个版本。是之前的9,10,11还是12.听说是UWP,我也不知道UWP是什么。

问题三:DirectX向下兼容,那么9之前的版本是在9里放着吗。10里有放9的东西,也就是写了一个10的程序,用到了9,需要把9的dll也发送过去吗 

问题四:也是上一个问题。做出游戏以后,发给exe的同时需要发送dll吗。

问题五:directX SDK里的runtime里有很多dll,运行VS里写的程序,用的是这里的dll还是系统自带的dll。

问题六:龙书说REF设备很慢,而且和SDK绑定不能发送给用户,但是又看到了HEL是软件抽象层可以软件运行,HEL和REF有什么关系吗。

REF真的不能发给用户吗,那HEL又是怎么实现的。 问题很乱很杂。刚学就有好多问题。而且还不知道改看哪本书,怎么入门,求助

5

帖子

3

回复

6

积分
最后登录:
2025-03-30 16:34
注册时间:
2023-03-12 16:29
1 楼
  发表于:2025-03-30 16:56:11|查看用户信息

1.我拿到DX12龙书把例子下载下来可以直接在win10系统一键编译运行,什么环境也没装,有些环境不到位的书上也讲了怎么装了。

2. 看了两周左右就可以开始写Demo了,之后一个月就把(不考虑跨平台)基础件封装的七七八八了,上手很快。


7

帖子

5

回复

10

积分
最后登录:
2025-03-30 13:15
注册时间:
2023-05-17 15:48
2 楼
  发表于:2025-03-30 16:59:22|查看用户信息

如果你打算学的快一点的话建议从dx11学起,再考虑要不要升dx12,因为dx11和dx12难度不是一个级别的,我个人觉得dx11已经够用了,在GPU控制和着色器上基本上已经成熟,唯一就是多线程没dx12强。


如果你打算精通dx的话建议从dx9学起,因为dx9有成套的做游戏的API,基本上相当于一个c++编程的引擎,dx11还得从底层写起,dx9的好处是非常易学也容易精通,现在的学习资料讲的非常深入也全面,你会学到很多封装思想,这比一开始就学dx11自建架构会简单一点,同时也可以为dx11提供参考。


学习资料的话建议dx龙书9,dx龙书9.0c,dx11龙书,都是非常经典的。


我就是从dx9学起的,因为dx9简单,学了半年多就开项目了,最后发现dx9实在是太老了虽然性能什么的可以忍,但是GPU的概念在dx9的年代还没成熟,着色器版本很低,寄存器数量限制太少,这会使渲染质量下降,所以我选择了dx11,因为dx11入门找不到路,dx12门槛高,当时都差点想放弃了,看了u3d,ue,vulkan,OpenGL什么的都试过,感觉都没dx好,dx确实支持比较完善,入门资料也比较好,不过学了dx9转dx11不亏,因为dx9的很多概念是非常成熟的。比如网格动画方面,而且可以类比,我学dx11相对轻松很多,只是之前做的项目也只能放弃了。


dx11当时弄得我想转行的原因之一就是环境配置,配置环境的时候需要在微软官方的github上下载effect11的库,其他的库也可以看看比如directxmesh和directxtdk也很好用,具体配置方法可以网上找找,生成库文件导入加入到自己的项目就行了


自己开发引擎的话,那只有专业大作需要这么干,因为自己可以从底层写起,自己想怎么干怎么干,限制你的只有你的能力。如果你希望自己要冲大作那dx非常适合,因为可以自己扩展功能,例如加mod或者实现复杂逻辑或者大量内存管理比较专业。但是用了dx也就代表什么都要原创,基本上一个人做是不可能的,我现在还在为队友的事情发愁,毕竟用dx的人不多,而且dx还特别底层,这就需要很多专业人士合作,人数多的话成本也会很高,所以人数也不宜过多,最好再找份正经工作,这样制作时间也需要很长,这是比较好的没资本的做法,做游戏的利润真的很低,基本上是靠热爱来支持。这样就有两个选择要么赚钱,氪金系统是非常好的营销策略,当然这种方案需要宣传,更新,各种方式来做到游戏长时间赚钱,要么做的好玩,这样就是做到买断机制,这对游戏的长时间维护不利,所以你需要一次做到最好。但是这对游戏的体验比充值系统好的多,同时游戏也可以长时间生存。因为这不像充值排名系统那样会造成新玩家的门槛,也不会造成充值带来的不公平现象


2

帖子

1

回复

3

积分
最后登录:
2025-03-30 12:50
注册时间:
2023-03-12 21:38
3 楼
  发表于:2025-03-30 17:00:54|查看用户信息

只是学DX的话,建议买最新的DX12龙书,书里有写该安装什么,比如用哪个库,怎样搭环境等。前置知识需要了解C++,可选计算机组成原理,多线程,线性代数等,学过的话理解起来会容易一些但不代表不会不能学DX,还有COM(组件对象模型)对理解API设计思想很有帮助。

共 1/1 页

0

帖子

0

回复

0

积分
最后登录:
1970-01-01 08:00
注册时间:
1970-01-01 08:00
会员必须登录才能发布帖子! 点击登录