It seems a shame to use dynamic anisotropic filtering for equirectangular inputs when the anisotropy is already known well in advance. I would prefer to save the power of anistropic filtering for distorted regions of the display projection. The anisotropy in an equirectangular input is roughly proportional to 1/cos(latitude). For a mip level that is appropriate along the vertical latitude direction, the horizontal sampling is way to sharp. We should rather blend multiple texels proportional to the anisotropy along the scanline and use a single mip level. This would likely require custom lod computation in the fragment shader. We could preprocess the texture to blur appropriately along the scan line. Is it possible to first run glGenerateMipmap(), then modify the resulting mipmaps in situ, putting the level n mipmap into a framebuffer, and using the level n-1 mipmap as the input texture to do a custom mipmap adjustment?
It seems a shame to use dynamic anisotropic filtering for equirectangular inputs when the anisotropy is already known well in advance. I would prefer to save the power of anistropic filtering for distorted regions of the display projection. The anisotropy in an equirectangular input is roughly proportional to 1/cos(latitude). For a mip level that is appropriate along the vertical latitude direction, the horizontal sampling is way to sharp. We should rather blend multiple texels proportional to the anisotropy along the scanline and use a single mip level. This would likely require custom lod computation in the fragment shader. We could preprocess the texture to blur appropriately along the scan line. Is it possible to first run glGenerateMipmap(), then modify the resulting mipmaps in situ, putting the level n mipmap into a framebuffer, and using the level n-1 mipmap as the input texture to do a custom mipmap adjustment?