Могу ли я использовать OpenGL на локальном сервере Wamp? - PullRequest
0 голосов
/ 22 апреля 2020

Мой проект состоит из веб-сайта, на котором пользователь вводит файл Musi c XML и получает видео (аналогично synthesia) на основе этого файла XML. Я использую python для анализа файла XML и получения всей полезной информации. Имея эту информацию, я использую PyOpenGL с избытком для создания анимации и OpenCV для сохранения каждого кадра в видео.

Я могу запустить программу локально, и она работает. Сейчас я пытаюсь использовать программу на моем сервере Wamp. Итак, мой вопрос, как бы я go сделал это? Я планировал вызвать программу с PHP shell_exec(), но, похоже, ничего не произошло. Я протестировал shell_exec() на простых тестовых файлах, которые возвращают строку и это работает. Я провел некоторое исследование и обнаружил, что могу использовать xvfb для рендеринга безголового сервера. Любая идея о том, как я могу реализовать это с PyOpenGL / Glut? Также можно ли использовать PHP shell_exec() или я должен использовать что-то еще для вызова моей Python программы?

1 Ответ

0 голосов
/ 23 апреля 2020

В первую очередь решайте, нужно вам / хотите ускорить GPU или нет. Нет смысла пытаться оттачивать ускоренное создание контекста OpenGL на GPU, если ваша целевая система даже не имеет GPU.

Далее вы должны смириться с тем, что вы больше не сможете используйте GLUT, потому что GLUT был реализован с учетом создания на экране windows.

Если вы можете жить без графических процессоров и полагаться на растеризацию программного обеспечения, вам следует взглянуть на OSMesa https://mesa3d.org/osmesa.html

Если вам нужно ускорение графического процессора, проверьте, на каком графическом процессоре вы будете работать. Если это будет NVidia, посмотрите их отличный блог о том, как создать контекст безголового рендеринга с EGL https://devblogs.nvidia.com/egl-eye-opengl-visualization-without-x-server/

Если это графический процессор AMD или Intel, тогда EGL в Теория должна работать так же. Однако использование DRM + GBM обычно дает лучшие результаты. Есть пример проекта, который можно найти по адресу https://github.com/eduble/gl

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...