Добавление version 100
поверх шейдеров ничего не дает.
Если вы создали контекст с помощью canvas.getContext('webgl')
, вы получите базовые c возможности WebGL 1.
При использовании WebGL 1 шейдеры с #version 300 es
не будут скомпилированы, и многие функции будут заблокированы за расширениями.
Вам следует посмотреть, какие расширения поддерживаются вашим целевым браузером, и включать эти расширения только во время тестов.
Но я бы все равно настоятельно рекомендовал протестировать ваши целевые браузеры, потому что WebGL spe c имеет довольно мягкие требования к минимальным функциям, которые необходимо поддерживать.
I часто замечают, что некоторые комбинации параметров работают в одних браузерах, а не в других, даже если эти браузеры поддерживают WebGL 2.