В настоящее время я разрабатываю многопользовательскую игру с Ирлихтом.
Очевидно, что на стороне клиента у нас есть Irrlicht для выполнения рендеринга, а на стороне сервера у нас есть Bullet для выполнения физических расчетов.
Мы используем Qt для остальных (GUI, сеть, …).
Есть некоторые полезные функции от Irrlicht, такие как:
Все наши ресурсы хранятся в файле TAR, сервер отправляет его клиенту, и Irrlicht загружает его (не распаковывая), что действительно полезно.
Но Буллет должен знать модели, чтобы выполнить обнаружение столкновений, поэтому мне нужно загрузить модели.
Решение состоит в том, чтобы разработать парсер TAR с Qt и libarchive и сказать Bullet, чтобы он загружался с ConvexDecomposition::WaveFrontObj
, Но более простым решением было бы использовать Irrlicht для загрузки сетки из архива (поскольку код уже готов).
Итак, есть ли способ использовать Irrlicht на стороне сервера без рендеринга в видеодрайвер?
Я наконец нашел способ использовать серверную часть Irrlicht.
Итак, я хочу, чтобы Иррлихт выполнил некоторые вычисления без какого-либо рендеринга. Решение было довольно простым, мне просто нужно создать устройство с драйвером типа NULL:
SIrrlichtCreationParameters params;
params.DriverType = EDT_NULL;
device = createDeviceEx (params);
Других решений пока нет …