用C ++编写并暴露给C#或直接在C#中编写?

在我准备写自己的2D(也许是3D)游戏引擎之前,我正在做一些研究。 在使用C#和XNA之前我已经制作了一个引擎,但是我想通过使用opengl等在C ++中创建我的新引擎来跨平台。

但是......我仍然希望从C#开始快速迭代,并且能够访问那里的游戏引擎。

所以我在这里有几个选项。

  • 用C ++编写引擎和CLI包装器
  • 直接用C#编写整个事情,不需要C ++
  • 用C ++编写并使用Mono将C#代码/程序集加载到引擎中。
  • 没有C#
  • ...可能是我还没有想到的东西
  • 我认为我确实需要扑杀速度,场景图材料,矩阵计算,粒子系统等。

    笏是优点和缺点? 你有什么建议?


    如果你想跨平台,你不能使用C ++ / CLI。 这在Windows以外的任何平台上都不受支持。

    这就是说,对于跨平台,我要么使用C#和Tao,要么使用C ++来使引擎成为一个库,并且使用Platform Invoke来从您的C#代码中“使用”库。 这将为您提供您在核心引擎(C ++)中所需的速度和控制力,以及C#中游戏设计的灵活性。

    这为开发可暴露于C#的游戏引擎提供了一种干净的跨平台手段。


    Tao框架已经死了,请尝试OpenTK


    优化的C ++代码将是显著更快(20在我的情况%为ODE在32位,而在64位几乎40%; C#是在64位的比C#32位慢,但是这是另一篇文章)。 我会利用C ++库中的繁重数学(积分,微分方程等)。

    链接地址: http://www.djcxy.com/p/47337.html

    上一篇: Write in C++ and expose to C# or write directly in C#?

    下一篇: Business rules integration to User Stories