и конечно другие браузеры
Я использую компилятор 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, поэтому он самый современный.
Все документы просто как бы говорят «делай это, и это работает» — разочарованы: |
Это не задокументировано, как и должно быть в примерах и т. Д., Но вы должны ЯВНО запрашивать контекст WebGL2 при вызове emscripten_webgl_create_context (), устанавливая minorVerson и majorVerson в аргументе setup. В противном случае по умолчанию используется WebGL1.0 во время выполнения независимо от того, для чего установлены флаги компоновщика.
Других решений пока нет …