【发布时间】:2011-02-19 17:45:35
【问题描述】:
我正在使用 C# 中的一个小 2D 游戏引擎,并决定使用 Direct2D 和 DirectWrite 进行渲染。我知道有 Windows API 代码包和 SlimDX,但我真的很想深入研究并从头开始编写接口。我正在尝试不使用托管 C++,但 Direct2D 和 DirectWrite 似乎不使用传统的 COM 对象。它们定义了派生自 IUnknown 的接口,但似乎无法从 C# 与 COM 互操作实际使用它们。 d2d1.h 中有 IID,但没有 CLSID。
当然,我对 COM 互操作很陌生,所以也许我只是遗漏了一些东西。有人可以解释一下这种情况吗?
【问题讨论】:
-
查看这个帖子:itcommunity.ru/blogs/nesteruk/archive/2009/09/14/76753.aspx 它仍然涉及一些 C++。而且您不是在寻找 COM,而是要加载 dll 并使用 DllImport 包装签名
-
因为 DirectX 从很久以前就以 C/C++ 为核心。
标签: c# .net com direct2d directwrite