代码之家  ›  专栏  ›  技术社区  ›  Justin Meiners

OpenGL中glTexParameter的作用域是什么?

  •  8
  • Justin Meiners  · 技术社区  · 14 年前

    glTexParamter 全局作用于所有纹理或仅作用于当前绑定的纹理。

    例如,如果我在纹理加载时调用它:

    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
    

    在另一个纹理负载上:

    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
    

    GL_CLAMP )或者它会使用纹理绑定时最初设置的值吗?

    1 回复  |  直到 9 年前
        1
  •  9
  •   Kornel Kisielewicz    14 年前

    OpenGL FAQ :


    纹理对象存储纹理贴图及其关联的纹理参数状态。它们允许通过调用glBindTexture()在纹理之间切换。

    (...)

    glTexParameter*() ,和()。由于用于构建mipmap金字塔的GLU例程最终称为glTexImage*(),因此它们也会影响纹理对象很明显的此列表中没有glTexEnv*()和glTexGen*();它们不在纹理对象中存储状态。