Files
2026-07-28 19:02:45 +01:00

53 lines
1.3 KiB
C++

#include "HydraRenderer.h"
#include "../GlewIncludes.h"
#include "../windowmanager/HydraWindowManager.h"
#include "../engine/HydraEngine.h"
#include <GLMIncludes.h>
void GLAPIENTRY MessageCallback(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* message, const void* userParam)
{
std::cout << "[OpenGL Error](" << type << ") " << message << std::endl;
}
void HydraRenderer::Initialise(HydraRenderSettings render_settings)
{
m_render_settings = render_settings;
glewExperimental = GL_TRUE;
GLenum res = glewInit();
if (res != GLEW_OK)
{
}
else
{
glCullFace(GL_BACK);
glEnable(GL_CULL_FACE);
glEnable(GL_DEPTH_TEST);
glEnable(GL_DEBUG_OUTPUT);
glfwSwapInterval(1);
glDebugMessageCallback(MessageCallback, 0);
}
}
// void HydraRenderer::BeginFrame()
// {
// glViewport(0, 0, m_render_settings.ViewportWidth, m_render_settings.ViewportHeight);
// glEnable(GL_BLEND);
// glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
// glClearColor(0.0f, 0.5f, 0.7f, 1.0f);
// glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
// }
void HydraRenderer::EndFrame()
{
HydraWindowManager* window_manager = GetEngine()->WindowManager();
window_manager->Swap();
}