Как мне конвертировать между float и vec4, vec3, vec2?
Этот вопрос очень связан с вопросом здесь (Как преобразовать значение vec4 rgba в число с плавающей точкой?).
Уже есть некоторые статьи или вопросы, связанные с этим вопросом, но мне интересно, что большинство статей не определяют, какой тип плавающего значения. Пока я могу придумать, есть некоторая формула упаковки / распаковки с плавающей запятой ниже.
нормированный поплавок без знаканормированный поплавокпоплавок со знаком (плавающее значение, я могу найти ограничение диапазона)беззнаковый поплавокбеззнаковый поплавокподписанный поплавокТем не менее, это всего лишь 2 случая на самом деле. Другая упаковка / распаковка может быть обработана этими двумя способами.
беззнаковый поплавок (я могу упаковать / распаковать простым переносом битов)подписанный поплавокЯ хочу также упаковать и распаковать подписанные плавающие значения в vec3 или vec2.
В моем случае плавающее значение не гарантируется для нормализации, поэтому я не могу использовать простой способ сдвига битов.