diff options
Diffstat (limited to 'core/src/Entrypoint/OpenGL3.cpp')
-rw-r--r-- | core/src/Entrypoint/OpenGL3.cpp | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/core/src/Entrypoint/OpenGL3.cpp b/core/src/Entrypoint/OpenGL3.cpp deleted file mode 100644 index 7d5cae1..0000000 --- a/core/src/Entrypoint/OpenGL3.cpp +++ /dev/null @@ -1,102 +0,0 @@ -#include "OpenGL3.hpp" - -#if BUILD_CORE_WITH_OPENGL3_BACKEND -# include <glad/glad.h> -# include <GLFW/glfw3.h> -# include <backend/imgui_impl_glfw.h> -# include <backend/imgui_impl_opengl3.h> -# include <imgui.h> -# include <stdexcept> - -# define IMGUI_IMPL_OPENGL_LOADER_GLAD -# include <backend/imgui_impl_opengl3.cpp> - -OpenGL3Backend::OpenGL3Backend() { - glfwSetErrorCallback(GlfwErrorCallback); - if (!glfwInit()) { - throw std::runtime_error("Failed to initialize GLFW."); - } - -# if PLATFORM_APPLE - // GL 3.2 + GLSL 150 - const char* glslVersion = "#version 150"; - glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); - glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2); - glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); // 3.2+ only - glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE); // Required on Mac -# else - // GL 3.0 + GLSL 130 - const char* glslVersion = "#version 130"; - glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); - glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 0); - //glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); // 3.2+ only - //glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE); // 3.0+ only -# endif - - mWindow = glfwCreateWindow(1280, 720, "Cplt", nullptr, nullptr); - if (mWindow == nullptr) { - throw std::runtime_error("Failed to create GLFW window."); - } - glfwMakeContextCurrent(mWindow); - glfwSwapInterval(1); // Enable vsync - - if (gladLoadGLLoader((GLADloadproc)glfwGetProcAddress) == 0) { - throw std::runtime_error("Failed to initialize OpenGL."); - } - - IMGUI_CHECKVERSION(); - ImGui::CreateContext(); - - ImGui_ImplGlfw_InitForOpenGL(mWindow, true); - ImGui_ImplOpenGL3_Init(glslVersion); -} - -OpenGL3Backend::~OpenGL3Backend() { - ImGui_ImplOpenGL3_Shutdown(); - ImGui_ImplGlfw_Shutdown(); - ImGui::DestroyContext(); - - glfwDestroyWindow(mWindow); - glfwTerminate(); -} - -void OpenGL3Backend::BeginFrame() { - glfwPollEvents(); - - ImGui_ImplOpenGL3_NewFrame(); - ImGui_ImplGlfw_NewFrame(); - ImGui::NewFrame(); -} - -void OpenGL3Backend::EndFrame() { - int displayWidth, displayHeight; - glfwGetFramebufferSize(mWindow, &displayWidth, &displayHeight); - glViewport(0, 0, displayWidth, displayHeight); - - const ImVec4 kClearColor = ImVec4(0.45f, 0.55f, 0.60f, 1.00f); - glClearColor(kClearColor.x * kClearColor.w, kClearColor.y * kClearColor.w, kClearColor.z * kClearColor.w, kClearColor.w); - glClear(GL_COLOR_BUFFER_BIT); - - ImGui::Render(); - ImGui_ImplOpenGL3_RenderDrawData(ImGui::GetDrawData()); - - glfwSwapBuffers(mWindow); -} - -#else // ^^ BUILD_CORE_WITH_OPENGL3_BACKEND | !BUILD_CORE_WITH_OPENGL3_BACKEND vv -# include <stdexcept> - -OpenGL3Backend::OpenGL3Backend() { - throw std::runtime_error("Backend opengl3 is not available in this build.\n"); -} - -OpenGL3Backend::~OpenGL3Backend() { -} - -void OpenGL3Backend::BeginFrame() { -} - -void OpenGL3Backend::EndFrame() { -} - -#endif |