2012-08-07 34 views

回答

1

它被使用。

它定义了纹理需要存储在哪个槽中。插槽是一个shaderprogram可以访问纹理槽采样器的地方。这确实大部分是0,因为我们在着色器中只使用1个纹理。但是如果我们想要在着色器中访问多个纹理,那么需要将值更改为nessecary的插槽数量。

就像你可以在这里看到:

https://github.com/gero3/three.js/blob/master/src/renderers/WebGLShaders.js#L1392-1397

地图是第一个纹理。 (插槽0) envMap是第二个纹理。 (插槽1) lightMap是第三个纹理。 (插槽2)

对于在着色器程序中使用的每个纹理,必须选择一个新插槽。