Запуск b4w без поддержки WebGL

22 ноября 2016 10:00 #14032
Хочу попробовать запустить b4w в окружении phantomj (что бы сделать уже игровой сервер наконец). А там идёт ошибка инициализации из за отсутствия WebGL.

Хочу спросить совета, или куда копнуть в исходниках. В общем буду рад любой информации в этом направлении.

Как только всё получится выложу исходные коды с инструкцией
Не стой, где попало… Попадет еще раз.
http://naviris.ru/
22 ноября 2016 11:18 #14039
У нас были наработки для nodejs, так сказать в свободное от работы время.
Есть две ветки, обе со своими недоработками: 1,2

Обе ветки используют headless-gl. В первой ветке больше грубых хаков чем во второй. Но первая ветка более рабочая и даже позволяет делать хэдлесс рендеринг, правда пока что без подгрузки текстур.

Более правильная идея для сервера, это не использовать headless-gl, а полностью имплементировать заглушку для webgl (реализовать пустые методы и свойства, чтоб выполнение кода рендера занимало минимальное время). С heaeless-gl можно просто выставить минимальный размер буфера рендера.
Александр (команда Blend4Web)
30 ноября 2016 00:04 #14250
Ответ на сообщение пользователя Александр Романов
У нас были наработки для nodejs, так сказать в свободное от работы время.
Есть две ветки, обе со своими недоработками: 1,2

Круто, что есть попытки развития в этом направлении.
Но пока что "из коробки" ни один пример у меня сразу не завёлся (возможно к node js руки тянутся не из того места ):
Первый вариант выдал мне
root@vps57191:~/Blend4Web-headless/tools/headless# node examp.js
/root/Blend4Web-headless/tools/headless/node_modules/bindings/bindings.js:83
throw e
^

Error: /root/Blend4Web-headless/tools/headless/node_modules/gl/build/Release/webgl.node: invalid ELF header
at Error (native)
at Object.Module._extensions..node (module.js:597:18)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at bindings (/root/Blend4Web-headless/tools/headless/node_modules/bindings/bindings.js:76:44)
at Object.<anonymous> (/root/Blend4Web-headless/tools/headless/node_modules/gl/webgl.js:4:35)
at Module._compile (module.js:570:32)


Второй пример просто вылетает без особых ошибок
root@vps57191:~/Blend4Web-nodejs/tools/headless# node nmain.js
B4W WARN: Couldn't determine path to ancillary resources, fallback to the current page directory
B4W WARN: Couldn't determine path to ancillary resources, fallback to the current page directory
%cB4W LOG: INIT ENGINE color: #00a 16.11 DEBUG (29.11.2016 23:58:36)
B4W LOG: Apply performance workaround
B4W LOG: Apply performance.now() workaround
b4w init failure


Но изучил структуры ваших кодов, есть идеи! Большое спасибо за труд, буду разбираться и экспериментировать по возможности
Не стой, где попало… Попадет еще раз.
http://naviris.ru/
30 ноября 2016 09:42 #14254
По первому варианту, помнится, что webgl.node слинкован с библиотекой mesa, если устанавливать headless-gl через npm install. На системах с AMD или NVIDIA возникают подобные ошибки. Я скачивал исходники headless-gl и пересобирал на машине с NVIDIA драйверами. Потом просто подменил тот бинарник на пересобранный.
Александр (команда Blend4Web)
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.