D3D9学习笔记(三) Device

本文详细介绍了Direct3D9中设备(Device)的创建过程,包括设备类型、枚举硬件、选择硬件设备、创建设备的步骤和注意事项,以及如何清理资源。重点讲解了D3DDEVTYPE类型、创建Device的Flags参数和D3DPRESENT_PARAMETERS结构体的设置,对于理解Direct3D9的设备管理至关重要。
摘要由CSDN通过智能技术生成

2.1架构

2.2类型

基本的device类型:hal:硬件渲染(发布)。这也不是直接访问硬件驱动,而是访问在上一层的hal。(在顶点处理过程中,如果硬件处理失败,可尝试混合处理及纯软处理,设定标志D3DCREATE_MIXED_VERTEXPROCESSING

                                       soft软件渲染(但是这种软渲染并不一定拥有同当前硬件相同的渲染能力,所以要经常检查)

                                       ref完全精密的实现所有特征的软渲染可以,可用于验证feature,使用那些还没被做到硬件的feature,也可以用来验证是不是硬件驱动有bug,因为它是最规范完整的按feature来渲染。

2.3一些问题

xpvista的显示的一些问题

 

1.在安全桌面下:如屏保、锁定、未登入状态等,hal device是不能访问的,D3D9device会创建失败。但是vista可以使用系统service来创建

2.远程桌面:XP下不能再远程桌面上创建DEVICE vista可以通过remote desktop session来创建

 

2.4选择硬件设备

1 枚举硬件

IDirect3D9:: GetAdapterCount()获取显卡数量,D3D9中的显卡表示为0-GetAdapterCount()-1的整数,主显卡也可用D3DADAPTER_DEFAULT表示。

另外可以用IDirect3D9::GetAdapterIdentifier获取显卡的厂商类型等信息。

2.获取指定显卡支持的显示模式

IDirect3D9::EnumAdapterModes.

IDirect3D9::GetAdapterDisplayMode可获取硬件当前的显示模式

3.(可选)查询设备是否支持要用到的一些硬件加速,他还能查询设备是否支持swap chain

IDirect3D9::CheckDeviceType(窗口模式可省)

4.获取当前硬件的渲染能力

IDirect3D9::GetDeviceCaps

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值