RyanHub - file viewer
filename: include/renderer.h
branch: main
back to repo
// 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