Direct3D 10 是否有 COM 暴露

2024-02-14

先生们、尊敬的女士们。

我在 Code Project 的 COM 论坛上发布了这个问题,并得到了一个傲慢的回复,希望对您有所帮助。

我看到 Microsoft 有一个用于 Direct3D 9 的 COM 库,其 GUID 为 81BDCBCA-64D4-426d-AE8D-AD0147F4275C。

Microsoft 是否在 COM 上公开了 Direct3D 10,如果是,接口 GUID 是什么?

提前致谢。


从 MSDN 上的文档来看,他们似乎已经不再使用带有成员函数的 IDirect3D9 对象,例如IDirect3D9::创建设备 http://msdn.microsoft.com/en-us/library/bb174313(VS.85).aspx使用全局函数,例如D3D10创建设备 http://msdn.microsoft.com/en-us/library/bb205086(VS.85).aspx。在 Direct3D 10 中,他们将 IDirect3D9 中与(例如)适配器相关的许多功能拆分为DirectX 图形基础设施 (DXGI) http://msdn.microsoft.com/en-us/library/cc835730(VS.85).aspx.

换句话说,Direct3D 10 仍然使用 COM,但是没有,没有 IDirect3D9 的对应项。您使用 IDirect3D9 所做的事情现在可以通过其他方式完成。

编辑:具有上面 GUID 的 COM 类是 IDirect3D9。 Direct3D 10 没有更新版本(没有 IDirect3D10 可以完成 IDirect3D9 所做的事情);相反,该类的成员函数被拆分为全局函数(例如D3D10创建设备 http://msdn.microsoft.com/en-us/library/bb205086(VS.85).aspx),您可以直接调用它,而不是通过对象,并进入 DXGI 类(例如IDXGI输出 http://msdn.microsoft.com/en-us/library/bb174546(VS.85).aspx)。您不需要 IDirect3D10 对象,因为您使用它执行的任务现在以不同的方式完成。

您应该能够通过在 Direct3D 头文件中搜索 DEFINE_GUID 宏来将 GUID 映射到 COM 类名称。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Direct3D 10 是否有 COM 暴露 的相关文章

随机推荐