DirectX9.0c读书笔记

本文记录了作者重新阅读DirectX9.0C文档的心得,重点介绍了REF设备的使用场合及其优势,包括在HAL设备验证失败时作为调试工具的作用。此外,文章还详细解释了如何使用IDirect3DStateBlock9接口来保存和恢复Direct3D状态变化,为开发过程提供实用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  最近想把DirectX9.0C的文档重新细读一边,本文将记录阅读过程中的一些笔记,不定期更新。

1.HAL和REF设备

关于两者的区别不说了,主要说一下REF设备的使用场合。主要有如下两方面的使用场合:第一:想使用一些显卡不支持的高级特性时,因为REF设备支持所有的Direct3D特性。

第二:这个用途自认为比较重要,主要用来调试程序用,当使用HAL设备时得到的结果不正确,并且认为上层代码没问题的情况下,可以在REF设备上进行测试,如果程序正常,则说明显卡支持的功能有问题或者驱动有bug;如果程序仍然有问题,就说明是上层逻辑代码有问题。

2.检测硬件支持

下面几个函数用来查询硬件的支持,CheckDeviceFormat, CheckDeviceType,CheckDepthStencilMatch

3.IDirect3DStateBlock9

使用该接口来保存一系列状态的变化,比如可以在ID3DXEffect::Begin()调用后,使用IDirect3DDevice9::CreateStateBlock()创建一个IDirect3DStateBlock9接口来保存之前的状态,等ID3DXEffect::End()调用后,使用IDirect3DStateBlock9::Apply()接口还原Effect执行前的状态。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值