DirectX11编程1 游戏循环框架的搭建

环境:VS2017  语言:C++

 

总起:

本次的博文主要参考红龙书(《Introduction to 3D Game Programming with Directx 11》)和X_Jun96大佬将DirectX SDK移植到最新的Windows SDK的博文:https://blog.csdn.net/x_jun96/article/details/80293670

 

之前的Windows编程系列其实就是DirectX(以下简称Dx)编程,当时简单研究后就没有下文了,3D游戏编程大师技巧这本书也是一直忘记拿出来看,最近趁着工作稍微清闲点,打算研究一下底层的东西。

 

首先说一下红龙书,他的第四章节相当于《Windows游戏编程大师技巧》的所有内容还要多(除了没有实现音乐),所以刚入门的同学还是推荐《Windows游戏编程大师技巧》或跟其内容相似的最新DirectX编程,毕竟《Windows游戏编程大师技巧》实在是太老了,使用的还是Dx7。

 

接着说一下红龙书上的示例,虽说是Dx11,但他当时使用的是独立的DirectX SDK库,就是一个叫做June 2010的SDK库,但后来微软将Dx库合并到了Windows库中了,所以现在编写Dx程序,打开VS2017,安装Windows环境,就能直接编写Dx程序。

 

然后说一下为什么选择Dx11。现在已经有Dx12了,但Dx12不支持现在占有率还非常高的Win7系统,而现在公司内部基本用的都是Win7,所以考虑到兼容性和受众率还是选择了Dx11,当然学完之后想学Dx12甚至是OpenGL会很轻松,毕竟大部分思路是共同的(今天要说的这套框架,其实跟Dx7的也没啥太大区别,多了些东西而已)。

 

接下来进入正题,先附上工程链接:https://github.com/anguangzhihen/Dx11

1.程序最好运行在Win32上(后来我这边的项目都在x64上跑了,没有说明的话x64都是可以运行的);

2.如果Common下的脚本没有找到,请到工程/属性中添加包含目录;

3.所有的练习都在其中,全局搜索“练习”关键字就能找到,想要运行打开注释即可。

 

龙书示例:https://github.com/jjuiddong/Introduction-to-3D-Game-Programming-With-DirectX11

 

Window SDK示例:https://github.com/walbourn/directx-sdk-samples

 

我这边会按照流程梳理一遍整体的思路,然后重点说一下关键的代码。

 

框架的流程和思路:

D3DApp是游戏循环的框架类,InitDirect3DApp作为它的实现对象完成了将整个屏幕显示成蓝色的任务。

 

让我先来看看InitDirect3DApp的代码:

// 最简单的Dx框架类实现
class In
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值