我有一个无缝平铺的纹理。
在片段着色器中,我使用在某个点从 1.0 跳转到 0.0 的函数以程序方式计算纹理坐标 UVproc(此处纹理应该很好地重复)。
问题是在这个接缝处,查找似乎从最小的 mipmap 级别返回像素值。
如果我调试输出
out = vec4(dFdx(UVproc.x), dFdy(UVproc.y),0,1);
然后我可以看到在这些像素上,这些纹理坐标的有限差异非常高,因此访问了一个小的 mipmap 级别(有道理 - 因为在这些像素处从 1 跳到 0,所以有限差异会很大)。
如果我使用 textureLod() 手动访问 mipmaplevel 0,那么我没有这个问题,但我也松散了 mipmap,一切都变得粗糙。
所以问题是:
如果在片段着色器中程序计算纹理坐标(在 0-1 范围内),如何避免可见的 mipmap 相关接缝?