Skip to main content
GameDev.net gamedev.net
🔒 Locked

Odd texture filtering issue

Started by Blips Sep 24, 2011 at 7:00 PM 4 replies 1.3k views
Original Post
Blips
Blips
I'm approaching completion on my first OpenGL ES game (yay!) but just recently ran into an odd issue with texture filtering. I was trying to improve the game's performance when linear filtering suddenly broke. Code when creating textures was this:


glGenTextures(1, &textureID);
glBindTexture(GL_TEXTURE_2D, textureID);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, data);


But now, I'm having to set the texture parameters when binding textures and rendering geometry. Is this normal and was it just a fluke that it was working before?
dpadam450
dpadam450
You only need to set it once for each texture.
NBA2K, Madden, Maneater, Killing Floor, Sims 
Blips
Blips

You only need to set it once for each texture.


So why is it not working unless I re-set it during rendering?
L. Spiro
L. Spiro
Unbind the texture after you are done creating it to make sure you are not accidentally changing its properties later.

glBindTexture( GL_TEXTURE_2D, 0 );


L. Spiro
I restore Nintendo 64 video-game OST’s into HD! https://www.youtube.com/channel/UCCtX_wedtZ5BoyQBXEhnVZw/playlists?view=1&sort=lad&flow=grid
Blips
Blips

Unbind the texture after you are done creating it to make sure you are not accidentally changing its properties later.

glBindTexture( GL_TEXTURE_2D, 0 );

L. Spiro


Sorry, I forgot to include that line. I already was / am doing that.
L. Spiro
L. Spiro
Search your project for GL_TEXTURE_MIN_FILTER and check every location where you are calling that.

After you have set the GL_TEXTURE_MIN_FILTER property on your texture, you do not need to change it. Therefore you need to focus your search on where you are re-binding that texture (unintentionally) and changing its GL_TEXTURE_MIN_FILTER.
Check every location where you use GL_TEXTURE_MIN_FILTER, and be sure of exactly which texture is bound. It may not be the one you think.


L. Spiro
I restore Nintendo 64 video-game OST’s into HD! https://www.youtube.com/channel/UCCtX_wedtZ5BoyQBXEhnVZw/playlists?view=1&sort=lad&flow=grid

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.