【问题标题】:Persistence of texture parameters纹理参数的持久性
【发布时间】:2010-03-08 23:58:24
【问题描述】:

我使用 glBindTexture() 绑定先前创建的纹理。在 glBindTexture() 调用之后,我使用 glTexParameteri() 设置 MIN 和 MAG 过滤器。目前没问题。

我使用 glTexParameteri() 设置的那些参数是绑定到纹理本身还是如果我绑定另一个纹理它们会丢失。我必须重新设置它们吗?

glGenTexture(1, &tex1);
glGenTexture(1, &tex2);

/* bind tex1 and set params */
glBindtexture(GL_TEXTURE_RECTANGLE_ARB, tex1);
glTexImage2D(GL_TEXTURE_RECTANGLE_ARB, ...);
glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MAG_FILTER, GL_LINEAR);

/* do something */

/* bind tex2 and set params */
glBindtexture(GL_TEXTURE_RECTANGLE_ARB, tex2);
glTexImage2D(GL_TEXTURE_RECTANGLE_ARB, ...);
glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MAG_FILTER, GL_LINEAR);

/* do something */

/* bind tex1 again */
glBindtexture(GL_TEXTURE_RECTANGLE_ARB, tex1);

/* do i have to set the parameters from above again or are they stored with tex1? */

【问题讨论】:

    标签: opengl textures


    【解决方案1】:

    他们被保留了。 glBindTexture() 的手册页说:

    当一个纹理被绑定时,GL 对它的目标的操作 is bound 影响绑定的纹理。

    由于glTexParameter() 的第一个参数是一个目标,它们就像glTexImage() 一样适用于绑定对象。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-15
      • 2016-08-14
      • 1970-01-01
      • 2017-01-15
      • 1970-01-01
      • 2015-12-23
      相关资源
      最近更新 更多