我一直在阅读有关计算机图形学的论文,偶尔会遇到“依赖纹理读取”或“依赖纹理获取”这样的术语,用于查询着色器代码中的纹理。什么是依赖纹理读取,以及与“普通”纹理读取的区别是什么?
接受的答案(以及下面的答案)错误地限制了依赖纹理读取只使用另一个纹理读取的输出。那是不正确的。
任何具有不是直接传递到程序片段着色器中的精确坐标的坐标的纹理读取都是依赖纹理读取。甚至混合也会导致依赖纹理读取。
这直接引用自苹果的OpenGL ES编程指南。
普通的纹理读取只使用传递到着色器中的纹理坐标。依赖纹理读取是使用部分计算自另一个先前在着色器中访问的纹理中提取的值来计算的纹理坐标。因此第二个纹理访问“依赖于”从第一个中提取的值。