Как включить и использовать шейдеры glsl #version 300 es с emscripten C ++ и последним Firefox по ночам? - PullRequest
0 голосов
/ 28 декабря 2018

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

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

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

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

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

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

которые якобы включают API webGL2 (и, соответственно, glsl версии 300 es)

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

Я используюfirefox Ночной браузер, поэтому он самый актуальный.

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

1 Ответ

0 голосов
/ 29 декабря 2018

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

...