Irrlicht на стороне сервера

В настоящее время я разрабатываю многопользовательскую игру с Ирлихтом.

Очевидно, что на стороне клиента у нас есть Irrlicht для выполнения рендеринга, а на стороне сервера у нас есть Bullet для выполнения физических расчетов.

Мы используем Qt для остальных (GUI, сеть, …).

Есть некоторые полезные функции от Irrlicht, такие как:

  • загрузка сетки, текстуры, … из файла архива без распаковки.

Все наши ресурсы хранятся в файле TAR, сервер отправляет его клиенту, и Irrlicht загружает его (не распаковывая), что действительно полезно.

Но Буллет должен знать модели, чтобы выполнить обнаружение столкновений, поэтому мне нужно загрузить модели.

Решение состоит в том, чтобы разработать парсер TAR с Qt и libarchive и сказать Bullet, чтобы он загружался с ConvexDecomposition::WaveFrontObj, Но более простым решением было бы использовать Irrlicht для загрузки сетки из архива (поскольку код уже готов).

Итак, есть ли способ использовать Irrlicht на стороне сервера без рендеринга в видеодрайвер?

2

Решение

Я наконец нашел способ использовать серверную часть Irrlicht.

Итак, я хочу, чтобы Иррлихт выполнил некоторые вычисления без какого-либо рендеринга. Решение было довольно простым, мне просто нужно создать устройство с драйвером типа NULL:

SIrrlichtCreationParameters params;
params.DriverType = EDT_NULL;
device = createDeviceEx (params);
2

Другие решения

Других решений пока нет …