GLSL - проблема операции левого и правого сдвига - PullRequest
2 голосов
/ 06 апреля 2011

Я пытаюсь использовать операции << и >> в моем шейдере GLSL (для распаковки int из байтовой текстуры). Однако, если я их использую, шейдер перестает работать, и компилятор не пишет ошибки. Другие операторы, такие как |, & работает.

Ответы [ 2 ]

2 голосов
/ 07 апреля 2011

> и < - операторы, которые выполняют сравнения.Операциями сдвига битов являются >> и <<.

Хотя эти операторы распознаются в GLSL, они были "зарезервированы для будущего использования" в версии 1.20.Они являются законными в версии 4.10, согласно спецификации.Я не знаю, в какой версии они были представлены.

0 голосов
/ 30 сентября 2017

Операторы побитового сдвига << и >> были добавлены в GLSL версии 1.30 (#version 130), с OpenGL версии 3.0.

См. Язык затенения OpenGL®, языковая версия:1.30 - Глава 1.2 Изменения :

Ниже приводится сводка функций, добавленных в версию 1.3:

  • побитовые сдвиги и маскирование

В более ранней версии были зарезервированы операторы << и >>.

См. Язык затенения OpenGL®, версия языка: 1.20 - Глава 5 Операторы и выражения :

Язык затенения OpenGL имеет следующие операторы.Отмеченные как зарезервированные являются недопустимыми.

  • побитовый сдвиг (зарезервировано)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...