用C ++编写并暴露给C#或直接在C#中编写?
在我准备写自己的2D(也许是3D)游戏引擎之前,我正在做一些研究。 在使用C#和XNA之前我已经制作了一个引擎,但是我想通过使用opengl等在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