Я запускаю канал отложенного шейдера, и из-за необходимости сохранять G-буферы в унифицированном формате, требуется сжатие атрибутов. К сожалению, я не смог найти хорошую информацию о том, как на самом деле это делается.
У меня есть формат G-буфера, который использует 16 бит на компонент в формате с фиксированной запятой. К сожалению, поскольку я использую шейдерную модель 3, я не могу использовать битовые операторы. Итак, в общем, как можно собрать 2 8-битные значения в диапазоне 0,1 в один 16-битный канал, также в диапазоне 0,1? Предпочтительно применяется к CG или HLSL.