在着色器中解释纹理数据
Posted
技术标签:
【中文标题】在着色器中解释纹理数据【英文标题】:Interpreting texture data in shader 【发布时间】:2015-08-05 04:39:48 【问题描述】:当我们有无符号浮点内部格式和 GL_UNSIGNED_BYTE 时,它会将数据钳制为 0-1 吗?如果图像格式是 GL_FLOAT 怎么办?由于浮点数未标准化,是否存在将值限制为 0-1 的情况?
在着色器中,浮点采样器会钳制数据 0-1 还是只返回浮点数据?如果不归一化,如何确定颜色的强度?
【问题讨论】:
【参考方案1】:数据如何标准化(或不标准化)取决于纹理的内部格式。
没有任何附加字母的格式被标准化(GL_RGB、GL_RGBA、...) 末尾带有附加 F 的格式不是标准化浮点(GL_RGB16F、GL_RGBA32F、...) 以 I (GL_RGB16I, ...) 结尾的格式是有符号整数格式,需要在着色器中使用 isampler 以 UI 结尾的格式(GL_RGB16UI,...)是无符号整数格式,需要在着色器中使用 usampler【讨论】:
以上是关于在着色器中解释纹理数据的主要内容,如果未能解决你的问题,请参考以下文章