【发布时间】:2026-01-14 08:35:01
【问题描述】:
例如,如果我想使用 glGenTexture 生成 3 个纹理,并且我的 glsl 文件中有 3 个统一的 sampler2D 变量,如何将这 3 个纹理按特定顺序绑定到这 3 个统一变量?
【问题讨论】:
-
这个问题不是完全重复的,但在精神上与*.com/q/27261380/3530129 相似。我在那里写了一个答案,详细解释了纹理、纹理单元、采样器变量的概念以及它们是如何连接的。
例如,如果我想使用 glGenTexture 生成 3 个纹理,并且我的 glsl 文件中有 3 个统一的 sampler2D 变量,如何将这 3 个纹理按特定顺序绑定到这 3 个统一变量?
【问题讨论】:
有纹理(把它们想象成溢出像素的“墨盒”。
它们是纹理单元,可以将它们想象成可以插入纹理盒的插槽。
有些采样器有点像可以连接到纹理单元的小软管。
使用glActiveTexture 选择要与以下命令一起使用的纹理单元。通过调用glBindTexture 将“纹理墨盒”插入设备。通过将采样器 uniform 的数值设置为纹理单元的数量,您可以将其连接到该纹理单元以从中获取其像素。
【讨论】: