|
|
@ -38,9 +38,10 @@ void ImGui_ImplSdlGL3_RenderDrawLists(ImDrawData* draw_data) |
|
|
|
draw_data->ScaleClipRects(io.DisplayFramebufferScale); |
|
|
|
|
|
|
|
// Backup GL state
|
|
|
|
GLint last_active_texture; glGetIntegerv(GL_ACTIVE_TEXTURE, &last_active_texture); |
|
|
|
glActiveTexture(GL_TEXTURE0); |
|
|
|
GLint last_program; glGetIntegerv(GL_CURRENT_PROGRAM, &last_program); |
|
|
|
GLint last_texture; glGetIntegerv(GL_TEXTURE_BINDING_2D, &last_texture); |
|
|
|
GLint last_active_texture; glGetIntegerv(GL_ACTIVE_TEXTURE, &last_active_texture); |
|
|
|
GLint last_array_buffer; glGetIntegerv(GL_ARRAY_BUFFER_BINDING, &last_array_buffer); |
|
|
|
GLint last_element_array_buffer; glGetIntegerv(GL_ELEMENT_ARRAY_BUFFER_BINDING, &last_element_array_buffer); |
|
|
|
GLint last_vertex_array; glGetIntegerv(GL_VERTEX_ARRAY_BINDING, &last_vertex_array); |
|
|
@ -62,9 +63,8 @@ void ImGui_ImplSdlGL3_RenderDrawLists(ImDrawData* draw_data) |
|
|
|
glDisable(GL_CULL_FACE); |
|
|
|
glDisable(GL_DEPTH_TEST); |
|
|
|
glEnable(GL_SCISSOR_TEST); |
|
|
|
glActiveTexture(GL_TEXTURE0); |
|
|
|
|
|
|
|
// Setup orthographic projection matrix
|
|
|
|
// Setup viewport, orthographic projection matrix
|
|
|
|
glViewport(0, 0, (GLsizei)fb_width, (GLsizei)fb_height); |
|
|
|
const float ortho_projection[4][4] = |
|
|
|
{ |
|
|
@ -108,8 +108,8 @@ void ImGui_ImplSdlGL3_RenderDrawLists(ImDrawData* draw_data) |
|
|
|
|
|
|
|
// Restore modified GL state
|
|
|
|
glUseProgram(last_program); |
|
|
|
glActiveTexture(last_active_texture); |
|
|
|
glBindTexture(GL_TEXTURE_2D, last_texture); |
|
|
|
glActiveTexture(last_active_texture); |
|
|
|
glBindVertexArray(last_vertex_array); |
|
|
|
glBindBuffer(GL_ARRAY_BUFFER, last_array_buffer); |
|
|
|
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, last_element_array_buffer); |
|
|
|