diff -Naurw Irrlicht/COpenGLDriver.cpp Irrlicht/COpenGLDriver.cpp --- Irrlicht/COpenGLDriver.cpp 2005-09-21 19:36:50.000000000 +0200 +++ Irrlicht/COpenGLDriver.cpp 2005-11-27 00:46:38.000000000 +0100 @@ -36,7 +36,7 @@ ARBVertexProgramExtension(false), ARBFragmentProgramExtension(false), pGlGenProgramsARB(0), pGlBindProgramARB(0), pGlProgramStringARB(0), pGlDeleteProgramsARB(0), pGlProgramLocalParameter4fvARB(0), - ARBShadingLanguage100Extension(false), + ARBShadingLanguage100Extension(false), ClampTexture(false), RenderTargetTexture(0), MaxAnisotropy(1), AnisotropyExtension(false), CurrentRendertargetSize(0,0), pGlCreateShaderObjectARB(0), pGlShaderSourceARB(0), pGlCompileShaderARB(0), pGlCreateProgramObjectARB(0), pGlAttachObjectARB(0), @@ -1301,6 +1301,11 @@ glEnable(GL_TEXTURE_2D); glBindTexture(GL_TEXTURE_2D, ((COpenGLTexture*)texture)->getOpenGLTextureName()); + + GLint p = ClampTexture ? GL_CLAMP : GL_REPEAT; + + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, p); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, p); } } @@ -1544,6 +1549,8 @@ glDisable(GL_ALPHA_TEST); glCullFace(GL_BACK); + ClampTexture = false; + // unset last 3d material if (CurrentRenderMode == ERM_3D && Material.MaterialType >= 0 && Material.MaterialType < (s32)MaterialRenderers.size()) diff -Nauwr Irrlicht/COpenGLDriver.h Irrlicht/COpenGLDriver.h --- Irrlicht/COpenGLDriver.h 2005-08-24 20:25:14.000000000 +0200 +++ Irrlicht/COpenGLDriver.h 2005-11-27 12:11:42.000000000 +0100 @@ -309,6 +309,7 @@ bool ResetRenderStates; // bool to make all renderstates be reseted if set. bool Transformation3DChanged; bool MultiTextureExtension; + bool ClampTexture; bool StencilBuffer; bool ARBVertexProgramExtension; //GL_ARB_vertex_program bool ARBFragmentProgramExtension; //GL_ARB_fragment_program