好吧,问题原因我自己找到了,但还是不明白为啥。忘高手解惑。改前:
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);改后: glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);晕菜,为什么改后就有效果了呢。

解决方案 »

  1.   

    查找了相关资料,基本可以确定问题出哪了。OopenGL超级宝典(第5版)第5章内的一些内容:
    GL_LINEAR_MIPMAP_LINEAR过滤器通常又称为三线性Mip贴图。
    各向异性纹理过滤并不是OpenGL核心规范的一部分,但它是一种得到广泛支持的扩展。确认是否支持这种扩展的函数:
    if (gltIsExtSupported("GL_EXT_texture_filter_anisotropic"))最后,上网查了下,悲剧的发现,各向异性过滤好像需要显卡支持。额,这个问题暂时就不在纠结了。 
      

  2.   

    楼主用的是什么版本的开发软件VS2005?VS2008?VS2010?
    我用VS2010,一个源程序都调试不出来,好像是GLShaderManager库不能用,烦啊
      

  3.   

    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);这句话要起作用你要用gluBuild2DMipmaps()或者自己做Mipmap并用glTexImage2D()函数指定它,你没有产生Mipmap当然就有错了
      

  4.   


    我一般用的vs2005,vs2010我也用,也可以用。应该是你环境没设置好。
      

  5.   


    好久没上CSDN了,这个问题我知道了,我显卡不支持GL_LINEAR_MIPMAP_LINEAR过滤。我在自定义函数LoadTGATexture有调用glTexImage2D()这个函数。
      

  6.   

    shaderManager.UseStockShader(GLT_SHADER_TEXTURE_MODULATE,
            transformPipeline.GetModelViewProjectionMatrix(),
            vSphereColor, 0)楼主为什么这个函数的最后一个参数为0,而不是1