(一)Direct3D 驱动初始化(微软官方文档翻译)

(一)Direct3D 驱动初始化

DirectDraw运行时调用驱动的DrvGetDirectDrawInfo函数时,通过如下表明对Direct3D的支持。

   (1)设置DD_HALINFO结构体中的ddCaps结构中的dwCaps成员的值为DDCAPS_3D,来表明硬件支持3D加速。
   (2)设置DD_HALINFO结构体中的ddCaps成员中的ddsCaps成员的值为DDSCAPS_XXX来表明创建的surface的不同用途。
   (3)设置DD_HALINFO结构体中的GetDriverInfo成员指向DdGetDriverInfo回调。同时驱动必须将DD_HALINFO结构体中的dwFlags设置为DDHALINFO_GETDRIVERINFOSET.
   (4)分配和初始化D3DHAL_CALLBACKS结构体中的成员并将这一结构通过DD_HALINFO的lpD3DHALCallbacks成员返回。
   (5)分配和初始化D3DHAL_GLOBALDRIVERDATA结构体中的成员并将这一结构通过DDHALINFO结构的lpD3DGlobalDriverData成员返回。

在DrvGetDriverDrawInfo返回后,GDI针对不同的GUID多次调用驱动的DdGetDriverInfo来完成驱动的初始化。如果要支持Dirct3D,必须对
GUID_D3DCallbacks3, GUID_Miscellaneous2Callbacks, GUID_D3DExtendedCaps, GUID_ZPixelFormats, GUID_D3DParseUnknownCommandCallback做出相应的处理和实现。
   

   

注:由于笔者水平有限,难免有勘误之处, 有不足之处望多多包涵,多多指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值