소스 검색

Fix the active GL texture unit not always being set properly.

Fixes issues where texture methods wouldn't have any effect, depending on the current internal opengl state.
Alex Szpakowski 5 년 전
부모
커밋
9c2454816f
1개의 변경된 파일5개의 추가작업 그리고 0개의 파일을 삭제
  1. 5 0
      src/modules/graphics/opengl/OpenGL.cpp

+ 5 - 0
src/modules/graphics/opengl/OpenGL.cpp

@@ -993,6 +993,11 @@ void OpenGL::bindTextureToUnit(TextureType target, GLuint texture, int textureun
 		else
 			state.curTextureUnit = textureunit;
 	}
+	else if (!restoreprev && textureunit != state.curTextureUnit)
+	{
+		glActiveTexture(GL_TEXTURE0 + textureunit);
+		state.curTextureUnit = textureunit;
+	}
 }
 
 void OpenGL::bindTextureToUnit(Texture *texture, int textureunit, bool restoreprev)