我正在使用SOIL生成OpenGL纹理。除了SOIL中的mip map生成引起的远距离伪像外,一切都很好。当我不使用标志时:
SOIL_FLAG_MIPMAPS
它看起来不像伪影,但是它看起来很糟糕。是否有人见过这样的伪影?在水面上,有一种深红色,在沙子上,看起来像一种浅绿色/蓝色扭曲。
这就是它的样子:
各向异性过滤可能会有所帮助:
// right after you set your GL_TEXTURE_MIN/MAG_FILTER
if( glewIsSupported("GL_EXT_texture_filter_anisotropic") )
{
GLfloat max;
glGetFloatv( GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &max );
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, max);
}
或者是某种加载/纹理坐标错误,但没有足够的信息来确定(即,一个完整的、最小化的程序,演示问题)。