Просмотр исходного кода

gl_shader_manager: Implement SetShaderSamplerBindings.

bunnei 8 лет назад
Родитель
Сommit
0ca8fce9d0
1 измененных файлов с 8 добавлено и 0 удалено
  1. 8 0
      src/video_core/renderer_opengl/gl_shader_manager.cpp

+ 8 - 0
src/video_core/renderer_opengl/gl_shader_manager.cpp

@@ -38,6 +38,14 @@ void SetShaderSamplerBindings(GLuint shader) {
     cur_state.Apply();
     cur_state.Apply();
 
 
     // Set the texture samplers to correspond to different texture units
     // Set the texture samplers to correspond to different texture units
+    for (u32 texture = 0; texture < 32; ++texture) {
+        // Set the texture samplers to correspond to different texture units
+        std::string uniform_name = "tex[" + std::to_string(texture) + "]";
+        GLint uniform_tex = glGetUniformLocation(shader, uniform_name.c_str());
+        if (uniform_tex != -1) {
+            glUniform1i(uniform_tex, TextureUnits::MaxwellTexture(texture).id);
+        }
+    }
 
 
     cur_state.draw.shader_program = old_program;
     cur_state.draw.shader_program = old_program;
     cur_state.Apply();
     cur_state.Apply();