#include "MetaCoreRender/MetaCoreRenderDevice.h" #include #include namespace MetaCore { bool MetaCoreRenderDevice::Initialize(GLFWwindow* nativeWindow) { if (Initialized_) { return true; } if (gladLoadGLLoader(reinterpret_cast(glfwGetProcAddress)) == 0) { return false; } glEnable(GL_DEPTH_TEST); glEnable(GL_CULL_FACE); glCullFace(GL_BACK); glFrontFace(GL_CCW); glDisable(GL_BLEND); Initialized_ = nativeWindow != nullptr; return Initialized_; } void MetaCoreRenderDevice::Shutdown() { Initialized_ = false; } void MetaCoreRenderDevice::BeginFrame(int width, int height, const glm::vec4& clearColor) const { glBindFramebuffer(GL_FRAMEBUFFER, 0); glViewport(0, 0, width, height); Clear(clearColor); } void MetaCoreRenderDevice::Clear(const glm::vec4& clearColor) const { glClearColor(clearColor.r, clearColor.g, clearColor.b, clearColor.a); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); } bool MetaCoreRenderDevice::IsInitialized() const { return Initialized_; } } // namespace MetaCore