您以不同的方式对它们进行采样。对于 R16 纹理,您的着色器中将包含以下内容:
uniform sampler2D tex;
in vec2 texCoord;
...
float val = texture(tex, texCoord).r;
Run Code Online (Sandbox Code Playgroud)
对于 R16UI 纹理,它将如下所示:
uniform usampler2D tex;
in vec2 texCoord;
...
uint val = texture(tex, texCoord).r;
Run Code Online (Sandbox Code Playgroud)
所以对于 R16UI,你在采样时读出一个整数值。另一方面,R16 的行为与 R8 和类似格式(RGBA8 等)非常相似,只是它的内部精度是其两倍。
请注意,包括 R16UI 在内的所有整数纹理仅支持 NEAREST 过滤,或 NEAREST_MIPMAP_NEAREST 用于缩小过滤器。
当整数纹理用作渲染目标时,还有额外的限制。例如,不支持混合。在使用整数渲染目标之前请查阅规范以避免意外。
| 归档时间: |
|
| 查看次数: |
2743 次 |
| 最近记录: |