mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-31 21:21:06 +01:00 
			
		
		
		
	Merge branch 'nlguillemot-master'
This commit is contained in:
		| @@ -31,8 +31,8 @@ static int          g_AttribLocationPosition = 0, g_AttribLocationUV = 0, g_Attr | ||||
| static unsigned int g_VboHandle = 0, g_VaoHandle = 0, g_ElementsHandle = 0; | ||||
|  | ||||
| // This is the main rendering function that you have to implement and provide to ImGui (via setting up 'RenderDrawListsFn' in the ImGuiIO structure) | ||||
| // If text or lines are blurry when integrating ImGui in your engine: | ||||
| // - in your Render function, try translating your projection matrix by (0.5f,0.5f) or (0.375f,0.375f) | ||||
| // Note that this implementation is little overcomplicated because we are saving/setting up/restoring every OpenGL state explicitly, in order to be able to run within any OpenGL engine that doesn't do so.  | ||||
| // If text or lines are blurry when integrating ImGui in your engine: in your Render function, try translating your projection matrix by (0.5f,0.5f) or (0.375f,0.375f) | ||||
| void ImGui_ImplGlfwGL3_RenderDrawLists(ImDrawData* draw_data) | ||||
| { | ||||
|     // Avoid rendering when minimized, scale coordinates for retina displays (screen coordinates != framebuffer coordinates) | ||||
| @@ -48,6 +48,7 @@ void ImGui_ImplGlfwGL3_RenderDrawLists(ImDrawData* draw_data) | ||||
|     glActiveTexture(GL_TEXTURE0); | ||||
|     GLint last_program; glGetIntegerv(GL_CURRENT_PROGRAM, &last_program); | ||||
|     GLint last_texture; glGetIntegerv(GL_TEXTURE_BINDING_2D, &last_texture); | ||||
|     GLint last_sampler; glGetIntegerv(GL_SAMPLER_BINDING, &last_sampler); | ||||
|     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); | ||||
| @@ -87,6 +88,7 @@ void ImGui_ImplGlfwGL3_RenderDrawLists(ImDrawData* draw_data) | ||||
|     glUniform1i(g_AttribLocationTex, 0); | ||||
|     glUniformMatrix4fv(g_AttribLocationProjMtx, 1, GL_FALSE, &ortho_projection[0][0]); | ||||
|     glBindVertexArray(g_VaoHandle); | ||||
|     glBindSampler(0, 0); // Rely on combined texture/sampler state. | ||||
|  | ||||
|     for (int n = 0; n < draw_data->CmdListsCount; n++) | ||||
|     { | ||||
| @@ -119,6 +121,7 @@ void ImGui_ImplGlfwGL3_RenderDrawLists(ImDrawData* draw_data) | ||||
|     // Restore modified GL state | ||||
|     glUseProgram(last_program); | ||||
|     glBindTexture(GL_TEXTURE_2D, last_texture); | ||||
|     glBindSampler(0, last_sampler); | ||||
|     glActiveTexture(last_active_texture); | ||||
|     glBindVertexArray(last_vertex_array); | ||||
|     glBindBuffer(GL_ARRAY_BUFFER, last_array_buffer); | ||||
|   | ||||
| @@ -25,8 +25,8 @@ static int          g_AttribLocationPosition = 0, g_AttribLocationUV = 0, g_Attr | ||||
| static unsigned int g_VboHandle = 0, g_VaoHandle = 0, g_ElementsHandle = 0; | ||||
|  | ||||
| // This is the main rendering function that you have to implement and provide to ImGui (via setting up 'RenderDrawListsFn' in the ImGuiIO structure) | ||||
| // If text or lines are blurry when integrating ImGui in your engine: | ||||
| // - in your Render function, try translating your projection matrix by (0.5f,0.5f) or (0.375f,0.375f) | ||||
| // Note that this implementation is little overcomplicated because we are saving/setting up/restoring every OpenGL state explicitly, in order to be able to run within any OpenGL engine that doesn't do so.  | ||||
| // If text or lines are blurry when integrating ImGui in your engine: in your Render function, try translating your projection matrix by (0.5f,0.5f) or (0.375f,0.375f) | ||||
| void ImGui_ImplSdlGL3_RenderDrawLists(ImDrawData* draw_data) | ||||
| { | ||||
|     // Avoid rendering when minimized, scale coordinates for retina displays (screen coordinates != framebuffer coordinates) | ||||
| @@ -42,6 +42,7 @@ void ImGui_ImplSdlGL3_RenderDrawLists(ImDrawData* draw_data) | ||||
|     glActiveTexture(GL_TEXTURE0); | ||||
|     GLint last_program; glGetIntegerv(GL_CURRENT_PROGRAM, &last_program); | ||||
|     GLint last_texture; glGetIntegerv(GL_TEXTURE_BINDING_2D, &last_texture); | ||||
|     GLint last_sampler; glGetIntegerv(GL_SAMPLER_BINDING, &last_sampler); | ||||
|     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); | ||||
| @@ -81,6 +82,7 @@ void ImGui_ImplSdlGL3_RenderDrawLists(ImDrawData* draw_data) | ||||
|     glUniform1i(g_AttribLocationTex, 0); | ||||
|     glUniformMatrix4fv(g_AttribLocationProjMtx, 1, GL_FALSE, &ortho_projection[0][0]); | ||||
|     glBindVertexArray(g_VaoHandle); | ||||
|     glBindSampler(0, 0); // Rely on combined texture/sampler state. | ||||
|  | ||||
|     for (int n = 0; n < draw_data->CmdListsCount; n++) | ||||
|     { | ||||
| @@ -113,6 +115,7 @@ void ImGui_ImplSdlGL3_RenderDrawLists(ImDrawData* draw_data) | ||||
|     // Restore modified GL state | ||||
|     glUseProgram(last_program); | ||||
|     glBindTexture(GL_TEXTURE_2D, last_texture); | ||||
|     glBindSampler(0, last_sampler); | ||||
|     glActiveTexture(last_active_texture); | ||||
|     glBindVertexArray(last_vertex_array); | ||||
|     glBindBuffer(GL_ARRAY_BUFFER, last_array_buffer); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user