// renderer.h
#ifndef RENDERER_H
#define RENDERER_H
#include <glad/glad.h>
#include <GLFW/glfw3.h>
//#include "shader.h"
#include "texture.h"
#include "model.h"
#include "light.h"
extern GLFWwindow* window;
void window_init();
void renderer_init();
void renderer_begin_frame();
void renderer_end_frame();
void renderer_draw_model(
const Model* model,
const Texture* texture,
const vec4 color, // float[4]
const vec3 position, // float[3]
const vec3 rotation, // float[3]
const vec3 scale // float[3]
);
void renderer_set_view_proj(mat4 view, mat4 proj);
#if defined DEBUG || _DEBUG
#define GL_CHECK_ERROR(msg) \
do { \
GLenum err = glGetError(); \
if (err != GL_NO_ERROR) { \
fprintf(stderr, "[OpenGL Error] %s: 0x%X\n", msg, err); \
assert(0 && "OpenGL error"); \
} \
} while (0)
#else
#define GL_CHECK_ERROR(msg) ((void)0)
#endif
#endif