|
|
|
@ -262,6 +262,32 @@ bool ImGui_ImplGlfwGL3_CreateDeviceObjects() |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void ImGui_ImplGlfwGL3_InvalidateDeviceObjects() |
|
|
|
|
{ |
|
|
|
|
if (g_VaoHandle) glDeleteVertexArrays(1, &g_VaoHandle); |
|
|
|
|
if (g_VboHandle) glDeleteBuffers(1, &g_VboHandle); |
|
|
|
|
if (g_ElementsHandle) glDeleteBuffers(1, &g_ElementsHandle); |
|
|
|
|
g_VaoHandle = g_VboHandle = g_ElementsHandle = 0; |
|
|
|
|
|
|
|
|
|
glDetachShader(g_ShaderHandle, g_VertHandle); |
|
|
|
|
glDeleteShader(g_VertHandle); |
|
|
|
|
g_VertHandle = 0; |
|
|
|
|
|
|
|
|
|
glDetachShader(g_ShaderHandle, g_FragHandle); |
|
|
|
|
glDeleteShader(g_FragHandle); |
|
|
|
|
g_FragHandle = 0; |
|
|
|
|
|
|
|
|
|
glDeleteProgram(g_ShaderHandle); |
|
|
|
|
g_ShaderHandle = 0; |
|
|
|
|
|
|
|
|
|
if (g_FontTexture) |
|
|
|
|
{ |
|
|
|
|
glDeleteTextures(1, &g_FontTexture); |
|
|
|
|
ImGui::GetIO().Fonts->TexID = 0; |
|
|
|
|
g_FontTexture = 0; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
bool ImGui_ImplGlfwGL3_Init(GLFWwindow* window, bool install_callbacks) |
|
|
|
|
{ |
|
|
|
|
g_Window = window; |
|
|
|
@ -307,28 +333,7 @@ bool ImGui_ImplGlfwGL3_Init(GLFWwindow* window, bool install_callbacks) |
|
|
|
|
|
|
|
|
|
void ImGui_ImplGlfwGL3_Shutdown() |
|
|
|
|
{ |
|
|
|
|
if (g_VaoHandle) glDeleteVertexArrays(1, &g_VaoHandle); |
|
|
|
|
if (g_VboHandle) glDeleteBuffers(1, &g_VboHandle); |
|
|
|
|
if (g_ElementsHandle) glDeleteBuffers(1, &g_ElementsHandle); |
|
|
|
|
g_VaoHandle = g_VboHandle = g_ElementsHandle = 0; |
|
|
|
|
|
|
|
|
|
glDetachShader(g_ShaderHandle, g_VertHandle); |
|
|
|
|
glDeleteShader(g_VertHandle); |
|
|
|
|
g_VertHandle = 0; |
|
|
|
|
|
|
|
|
|
glDetachShader(g_ShaderHandle, g_FragHandle); |
|
|
|
|
glDeleteShader(g_FragHandle); |
|
|
|
|
g_FragHandle = 0; |
|
|
|
|
|
|
|
|
|
glDeleteProgram(g_ShaderHandle); |
|
|
|
|
g_ShaderHandle = 0; |
|
|
|
|
|
|
|
|
|
if (g_FontTexture) |
|
|
|
|
{ |
|
|
|
|
glDeleteTextures(1, &g_FontTexture); |
|
|
|
|
ImGui::GetIO().Fonts->TexID = 0; |
|
|
|
|
g_FontTexture = 0; |
|
|
|
|
} |
|
|
|
|
ImGui_ImplGlfwGL3_InvalidateDeviceObjects(); |
|
|
|
|
ImGui::Shutdown(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|