我只是想找个提示:我的应用会在需要时通过glTexImage2d使用新的纹理分辨率来调整其RTT纹理的大小。
升级时,一切看起来都不错。缩小尺寸时,看起来[1.0; 1.0]的TexCoord映射会映射到[oldRes.width; [oldRes.height]。我确定我缺少了一些重要的东西,但是现在找不到。有任何想法吗?
编辑:哎呀,不是吗,也。当已经绑定该纹理时,我的状态缓存只是没有在绑定上启用正确的纹理单元(此修复程序还解决了其他问题)。
我刚刚发现它-太简单了:很明显(我在NVidia上),RTT纹理所绑定的纹理单元需要在调整大小后重新初始化(不能进行初始大小调整)。取消绑定纹理并在需要时重新绑定它可以完成此工作。
PS:我正在使用所有可用纹理单元的状态缓存-这就是为什么这样弹出:纹理从未被绑定,因为我的示例使用的纹理比单元少得多(因此,除非绑定,否则没有纹理会被绑定)删除)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句