|
|
|
@ -147,20 +147,17 @@ void OpenGLState::Apply() { |
|
|
|
|
|
|
|
// Textures
|
|
|
|
for (unsigned texture_index = 0; texture_index < ARRAY_SIZE(texture_units); ++texture_index) { |
|
|
|
if (texture_units[texture_index].enabled_2d != cur_state.texture_units[texture_index].enabled_2d) { |
|
|
|
if (texture_units[texture_index].enabled_2d != cur_state.texture_units[texture_index].enabled_2d || |
|
|
|
texture_units[texture_index].texture_2d != cur_state.texture_units[texture_index].texture_2d) { |
|
|
|
|
|
|
|
glActiveTexture(GL_TEXTURE0 + texture_index); |
|
|
|
|
|
|
|
if (texture_units[texture_index].enabled_2d) { |
|
|
|
glEnable(GL_TEXTURE_2D); |
|
|
|
glBindTexture(GL_TEXTURE_2D, texture_units[texture_index].texture_2d); |
|
|
|
} else { |
|
|
|
glDisable(GL_TEXTURE_2D); |
|
|
|
glBindTexture(GL_TEXTURE_2D, 0); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if (texture_units[texture_index].texture_2d != cur_state.texture_units[texture_index].texture_2d) { |
|
|
|
glActiveTexture(GL_TEXTURE0 + texture_index); |
|
|
|
glBindTexture(GL_TEXTURE_2D, texture_units[texture_index].texture_2d); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// Framebuffer
|
|
|
|
|