glGenerateMipmap 函数算法是如何工作的,有没有办法改变它?

How does the glGenerateMipmap function algorithm works and is there a way to change it?

glGenerateMipmap 函数如何创建 mipmap?它是否进行某种插值,是否取 4 个像素的平均值(这是假定的),还是跳过下一个 mipmap 级别中的每个第二个像素?

有没有办法影响其底层算法?或者选择创建 mipmap 的方式?

第 8.14.4 节中关于 mipmap 生成的 OpenGL Spec 说明:

No particular filter algorithm is required, though a box filter is recommended as the default filter

无法修改 glGenerateMipmap 使用的算法,但您可以使用您喜欢的任何算法自行创建 mipmap 级别,然后使用 glTexImage2D(...) 将它们上传到纹理适当的水平。 0级是全分辨率,1级是原始尺寸的1/2,依此类推。