Проблема очень странная.
Написал шейдер, протестировал. И на эмуляторе и на моём устройстве он работает.
Кинул протестить другу, а у него шейдер работает некорректно. Ошибок компиляции и подвязки шейдеров при этом нет.
Конкретно проблема в том, что на некоторых Android устройствах не изменяется precision, а остаётся по умолчанию.
Эта строчка кода почему-то не работает
//glsl (fragment shader)
precision highp float;
Думал проблема в дровах, но системное обновление было недавно.
Также у меня не работает данная конструкция:
#version 100
#ifdef GL_FRAGMENT_PRECISION_HIGH
precision highp float;
#else
precision mediump float;
#endif
Хотя на webGL она работает.
Заранее спасибо за любую помощь [^-^]