|
|
|
@ -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();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|