我正在阅读纹理时使用TextureObjects。我读了两个纹理,想要在它们之间动态切换,但是当我尝试时:
tUnit =(\(TextureObject x) -> x) texObj
然后
activeTexture $= (TextureUnit tUnit)
setUniform p "texUnit" (TextureUnit tUnit)
它不起作用,但如果我将tUnit替换为0,它可以工作,但它会用我加载的最后一个纹理绘制所有内容。
我正在使用GLUtil的readTexture
函数加载我的纹理。
有什么想法吗?
答案 0 :(得分:1)
TextureUnit是本地着色器ID,TextureObject是全局纹理id。在设置活动纹理之前,我没有再次绑定我的TextureObject,所以它只是使用了最新的一个绑定。