@Mr_Vitas

Как изменить precision в фрагментных шейдерах?

Проблема очень странная.
Написал шейдер, протестировал. И на эмуляторе и на моём устройстве он работает.
Кинул протестить другу, а у него шейдер работает некорректно. Ошибок компиляции и подвязки шейдеров при этом нет.

Конкретно проблема в том, что на некоторых Android устройствах не изменяется precision, а остаётся по умолчанию.

Эта строчка кода почему-то не работает
//glsl (fragment shader)
precision highp float;

Думал проблема в дровах, но системное обновление было недавно.

Также у меня не работает данная конструкция:
#version 100
#ifdef GL_FRAGMENT_PRECISION_HIGH
precision highp float;
#else
precision mediump float;
#endif

Хотя на webGL она работает.

Заранее спасибо за любую помощь [^-^]
  • Вопрос задан
  • 50 просмотров
Пригласить эксперта
Ответы на вопрос 1
gbg
@gbg
Любые ответы на любые вопросы
А никак. Не следует в текстурном шейдере лепить highp - она садит быстродействие. highp имеет смысл в вершинном шейдере.

Если у вас код без этого не работает, вы с большой вероятностью что-то делаете не так.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы