#include "Engine.h" #include "imgui.h" #include "backends/imgui_impl_glfw.h" #include "backends/imgui_impl_opengl3.h" #include #include int main() { // Initialize the engine (GLFW window + OpenGL) if (!Engine::Init()) return 1; // Setup Dear ImGui context IMGUI_CHECKVERSION(); ImGui::CreateContext(); ImGuiIO& io = ImGui::GetIO(); io.ConfigFlags |= ImGuiConfigFlags_DockingEnable; // Enable docking // Set the style for ImGui ImGui::StyleColorsDark(); // Specify the GLSL version and initialize backends const char* glsl_version = "#version 330"; ImGui_ImplGlfw_InitForOpenGL(Engine::GetWindow(), true); ImGui_ImplOpenGL3_Init(glsl_version); // Main loop while (!glfwWindowShouldClose(Engine::GetWindow())) { Engine::BeginFrame(); // Start a new ImGui frame ImGui_ImplOpenGL3_NewFrame(); ImGui_ImplGlfw_NewFrame(); ImGui::NewFrame(); // Create a full-viewport docking space ImGui::DockSpaceOverViewport(); // Create an editor window ImGui::Begin("Editor Panel"); ImGui::Text("Welcome to the Editor!"); // Additional UI elements can be added here ImGui::End(); // Render ImGui data ImGui::Render(); ImGui_ImplOpenGL3_RenderDrawData(ImGui::GetDrawData()); Engine::EndFrame(); } // Cleanup ImGui and terminate GLFW ImGui_ImplOpenGL3_Shutdown(); ImGui_ImplGlfw_Shutdown(); ImGui::DestroyContext(); glfwTerminate(); return 0; }