您的位置:首页 > 其它

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

2015-03-19 15:29 543 查看
(一)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做出相应的处理和实现。

注:由于笔者水平有限,难免有勘误之处, 有不足之处望多多包涵,多多指正。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: