当多个等纹理线在等距离处时,在纹理的点采样期间返回哪个纹理值?

时间:2018-06-30 21:41:19

标签: opengl graphics shader opengl-es-2.0

当多于一个像素间隔相等时,采样器在点/最近邻居采样期间返回哪个纹理像素值?

Screen Pixel and texel overlapping

例如:在这种情况下(放大后),对于许多像素(或纹理坐标)而言,两个纹理像素距其中心的距离相同。将返回哪个纹理像素以对这些像素进行采样。

黑点=像素中心 黄点=纹素的中心

  • 在OpenGL中计算最近邻采样的最近纹理像素的公式是什么?

1 个答案:

答案 0 :(得分:1)

来自OpenGL Wiki

  

如果使用GL_NEAREST,则实现将选择距离纹理坐标最近的纹理像素

因此,图形卡供应商最终决定了他们认为最近的纹理像素。

一个可能的公式将纹理坐标乘以图像宽度/图像高度,并将其四舍五入以获得纹理像素索引。

(i, j) = floor(uv * (width, height)),

其中*是逐分量乘法。