X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fguicast%2Fbctexture.C;h=52787e1a527fb45e546c1b98213fac8a149d47ce;hp=1d0f7e88fece46ce03b49a819d7e16dda216acc0;hb=3305343c3d9bfb889f6892e7821cc0e2d68669de;hpb=7ead9f7382846e81c2f8efb25780014e5f8834c3 diff --git a/cinelerra-5.1/guicast/bctexture.C b/cinelerra-5.1/guicast/bctexture.C index 1d0f7e88..52787e1a 100644 --- a/cinelerra-5.1/guicast/bctexture.C +++ b/cinelerra-5.1/guicast/bctexture.C @@ -196,7 +196,7 @@ void BC_Texture::draw_texture( #endif } -void BC_Texture::bind(int texture_unit) +void BC_Texture::bind(int texture_unit, int nearest) { #ifdef HAVE_GL // Bind the texture @@ -205,10 +205,10 @@ void BC_Texture::bind(int texture_unit) if(texture_unit >= 0) glActiveTexture(GL_TEXTURE0 + texture_unit); glBindTexture(GL_TEXTURE_2D, texture_id); glEnable(GL_TEXTURE_2D); - if(texture_unit >= 0) - { - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + if(texture_unit >= 0) { + int filter = nearest ? GL_NEAREST : GL_LINEAR; + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, filter); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, filter); // GL_REPEAT in this case causes the upper left corners of the masks // to blur.