2

我目前正在使用 Irrlicht 开发多人游戏。

所以很明显,在客户端我们有 Irrlicht 来执行渲染,而服务器端我们有 Bullet 来执行物理计算。

我们将 Qt 用于其余部分(GUI、网络……)。

Irrlicht 提供了一些有用的功能,例如:

  • 从存档文件加载网格,纹理,...而不解压缩它。

我们将所有资源存储在一个 TAR 文件中,服务器将其发送给客户端,然后 Irrlicht 加载它(无需解压缩),非常有用。

但是 Bullet 需要知道模型才能执行碰撞检测,所以我需要加载模型。

一个解决方案是使用 Qt 和 libarchive 开发一个 TAR 解析器,并告诉 Bullet 使用ConvexDecomposition::WaveFrontObj. 但更简单的解决方案是使用 Irrlicht 从存档中加载网格(因为代码已经完成)。

那么,有没有办法在服务器端使用 Irrlicht 而无需渲染到视频驱动程序?

4

1 回答 1

2

我终于找到了一种使用 Irrlicht 服务器端的方法。

因此,我希望 Irrlicht 无需任何渲染即可执行一些计算。解决方案非常简单,我只需要使用 NULL 驱动程序类型创建设备:

SIrrlichtCreationParameters params;
params.DriverType = EDT_NULL;
device = createDeviceEx (params);
于 2013-06-16T14:11:54.183 回答