OpenGL ES、GLSL:插值两倍的半精度变量?

问题描述

我正在尝试插入很多(大约 60 个)由我的着色器程序输出的浮点值。我的目标架构是 Adreno。 adreno 编程指南指出,应该将所有内插值打包到 vec4 中: https://developer.qualcomm.com/docs/adreno-gpu/developer-guide/gpu/best_practices_shaders.html#pack-shader-interpolators

将值打包在一起,因为所有变量都有四个组成部分,无论是否使用。将两个 vec2 纹理坐标放入单个 vec4 值是一种常见做法,但其他策略采用更具创造性的打包和动态数据压缩。

这是有道理的,但我想知道这种“更具创意的打包和动态数据压缩”会是什么样子?我不需要全精度浮点数,半精度就足够了 - 所以我想知道是否有办法将 8 个半精度浮点值打包到 vec4 中并让它们仍然正确插入?我怎么能这样做?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)