4、Direct3D基础与2D精灵绘制入门

Direct3D基础与2D精灵绘制入门

1. Direct3D基础操作

在使用Direct3D时,如果要清空整个屏幕,可以通过指定零个脏区域来实现。之后,可使用交换链中的 Present1() 方法进行提交:

m_swapChain->Present1(1, 0, &parameters);

这里,第一个参数定义了同步间隔,可用于启用或禁用垂直同步(VSync)。该间隔可以是任意正整数,表示在交换发生前需要完成的刷新次数。值为0时,VSync将被禁用;值为1时,呈现速率将锁定为监视器的刷新速率。也可以使用大于1的值,此时刷新速率将除以该间隔。例如,对于60Hz刷新率的监视器,值为1时以60Hz呈现,值为2时以30Hz呈现。

此外,生成的代码中还会添加以下两行:

m_d3dContext->DiscardView(m_renderTargetView.Get());
m_d3dContext->DiscardView(m_depthStencilView.Get());

这两行代码的作用是提示驱动程序,在当前帧之后不会再使用后缓冲区的内容,从而可以进行一些优化。即使不添加这两行代码也不会影响程序运行,但添加后可能会带来性能提升。

2. 绘制2D精灵

大多数游戏通过图形界面向玩家展示游戏状态,因此需要将图像显示在屏幕上。这里可以借助Microsoft提供的开源库DirectXTK来

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值