Как включить и использовать шейдеры glsl #version 300 es с emscripten C ++ и последним Firefox по ночам?

и конечно другие браузеры
Я использую компилятор emscripten C ++ для создания приложения GL.

Всякий раз, когда я ставлю первую строку "#version 300 es" в вершинном или фрагментном шейдере и попробуйте запустить приложение, которое я получаю

«ОШИБКА: неподдерживаемая версия шейдера»

в журнале компиляции шейдера.

Мои флаги компиляции / ссылки на фазу генератора привязки js сборки emscripten:

 -s "FETCH=1" -s "ALLOW_MEMORY_GROWTH=1" -s "USE_WEBGL2=1"

Который якобы включает apis webGL2 (и выводом glsl версии 300 es)

Это происходит даже тогда, когда я делаю шейдеры почти полностью пустыми.

Я использую браузер Firefox Nightly, поэтому он самый современный.

Все документы просто как бы говорят «делай это, и это работает» — разочарованы: |

0

Решение

Это не задокументировано, как и должно быть в примерах и т. Д., Но вы должны ЯВНО запрашивать контекст WebGL2 при вызове emscripten_webgl_create_context (), устанавливая minorVerson и majorVerson в аргументе setup. В противном случае по умолчанию используется WebGL1.0 во время выполнения независимо от того, для чего установлены флаги компоновщика.

0

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

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

По вопросам рекламы [email protected]