我正在开发 3D 渲染引擎并寻找一种方法将我的 C++ DirectX/Vulkan 逻辑集成到 C# 客户端中。我应该使用 C++/WinRT、C++/CX、C++/CLI 还是其他?选择一个或另一个选项的注意事项是什么?有什么架构建议吗?
我正在寻找比较和建议以正确设置它。
预期架构:
我的引擎需要一个编辑器来允许用户在运行时调整场景和各种属性。最初,我想用 C++ 来做,但找不到像样的 C++ GUI 框架。它们都至少存在以下问题之一:无法在 XML/XAML/任何单独的文件中定义布局并从中生成 UI,很难或不可能获得 GUI 的原生感觉,极难使用,有限的定制选项。但是大量的 C# GUI 框架没有这些问题。用 C# 开发也更快,更容易维护,因为我不需要编辑器的低级东西。
C++/CLI 看起来是最好的解决方案:在类名前添加一个
ref
关键字,仅此而已。或不? 在这里,一位用户分享了他对 C++/CLI 的担忧。也许还有其他原因?
C++/WinRT 很难集成到构建管道中,需要一些“魔法”来更新包。链接:one 和 two.
总有一种方法可以手动设置编组。它按照您告诉它的方式工作,但同样,它需要大量工作并且难以维护。也许有办法让它更容易,但我还不知道。
没有。并不真地。我发现了几个关于how to integrate C++ things into a C# program 的问题。每个人都在那里陈述了不同的方法。但是我没有在互联网上找到任何比较。我想知道哪个更好以及在什么条件下,特别是在我的特殊情况下。
等等,这是我需要解决的实际问题: