Я работаю над шейдером OpenGL ES 2.0, и у меня плотно упакованные данные, например. три 5-разрядных целых числа без знака в блоке из двух байтов. Чтобы распаковать эти данные, я, очевидно, нуждаюсь в перестановке битов, но это не поддерживается в языке Shading Language OpenGL (см. Стр. 29 http://www.opengl.org/registry/doc/GLSLangSpec.Full.1.20.8.pdf)
Следовательно, я выполняю ряд операций * 2 и /2 для эмулирования смещения битов.
Кто-нибудь знает более эффективный/элегантный способ сделать это? Есть ли трюк, о котором я не знаю?
Спасибо!