Do glTexParameter() calls affect the currently bound texture only, or are they global to the current texture unit?
So, for example, can I assign GL_TEXTURE_MAG_FILTER to GL_NEAREST for texture A, and to GL_MIPMAP_NEAREST_LINEAR for texture B?
e.g.
glBindTexture(GL_TEXTURE_2D, textureA);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexImage2D(GL_TEXTURE_2D, ...)
...
glBindTexture(GL_TEXTURE_2D, textureB);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_MIPMAP_NEAREST_LINEAR);
glTexImage2D(GL_TEXTURE_2D, ...)
...
then, when rendering, just
glBindTexture(GL_TEXTURE_2D, textureA);
... draw with nearest filtering ...
glBindTexture(GL_TEXTURE_2D, textureB);
... draw with mipmap nearest filtering ...
Or would I have to call glTexParameter() before rendering the texture with the appropriate values?
e.g.
glBindTexture(GL_TEXTURE_2D, textureA);
glTexImage2D(GL_TEXTURE_2D, ...)
...
glBindTexture(GL_TEXTURE_2D, textureB);
glTexImage2D(GL_TEXTURE_2D, ...)
...
then, when rendering, just
glBindTexture(GL_TEXTURE_2D, textureA);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
... draw with nearest filtering ...
glBindTexture(GL_TEXTURE_2D, textureB);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_MIPMAP_NEAREST_LINEAR);
... draw with mipmap nearest filtering ...