【发布时间】:2014-03-27 09:02:47
【问题描述】:
我有插值的基本知识:它是一种根据给定位置的周围环境来估计一个值的方法。因此,最近邻插值是根据给定的位置 P,选择网格中的最近邻并复制其值。给定两个 P 介于两者之间的网格点,线性插值是两个网格点值的(线性)混合。如果 P 正好在半位置,则第一个值的 0.5 和第二个值的 0.5 相加为结果值。对于二维这称为双线性插值,对于三维三线性插值。
所以我知道 Min Mag 过滤器用于定义插值,例如OpenGL 纹理。例如。在此页面http://gregs-blog.com/2008/01/17/opengl-texture-filter-parameters-explained/ 上给出了下表:
Filter Combination | Bilinear | Bilinear | Mipmapping
(MAG_FILTER / MIN_FILTER) | (Near) | (FAR) |
---------------------------------------+----------+----------+------------
GL_NEAREST / GL_NEAREST_MIPMAP_NEAREST | Off | Off | Standard
GL_NEAREST / GL_LINEAR_MIPMAP_NEAREST | Off | On | Standard
GL_NEAREST / GL_NEAREST_MIPMAP_LINEAR | Off | Off | Trilinear filtering
GL_NEAREST / GL_LINEAR_MIPMAP_LINEAR | Off | On | Trilinear filtering
GL_NEAREST / GL_NEAREST | Off | Off | None
GL_NEAREST / GL_LINEAR | Off | On | None
GL_LINEAR / GL_NEAREST_MIPMAP_NEAREST | On | Off | Standard
GL_LINEAR / GL_LINEAR_MIPMAP_NEAREST | On | On | Standard
GL_LINEAR / GL_NEAREST_MIPMAP_LINEAR | On | Off | Trilinear filtering
GL_LINEAR / GL_LINEAR_MIPMAP_LINEAR | On | On | Trilinear filtering
GL_LINEAR / GL_NEAREST | On | Off | None
GL_LINEAR / GL_LINEAR | On | On | None
同一页面解释了 Min 过滤器适用于小于纹理的对象(远对象),而 Mag 过滤器适用于大于纹理的对象(近对象)。不过,如果给定 3D 纹理,如果 GL_LINEAR 设置为两个过滤器,则插值方法应该始终是三线性的。
【问题讨论】:
标签: opengl filter interpolation