39 lines
1010 B
C
39 lines
1010 B
C
#pragma once
|
|
|
|
#include "basic.h"
|
|
#include <glad/glad.h>
|
|
#include <GLFW/glfw3.h>
|
|
#include "render_data.h"
|
|
#include "user_interface.h"
|
|
#include "camera.h"
|
|
#include "timer.h"
|
|
#include "frame_buffer.h"
|
|
#include "vertex_buffer.h"
|
|
#include "uniform_buffer.h"
|
|
#include "texture.h"
|
|
#include "shaders.h"
|
|
|
|
|
|
struct Renderer {
|
|
Shader shader;
|
|
Shader alt_shader;
|
|
Frame_Buffer frame_buffer;
|
|
Vertex_Buffer vertex_buffer;
|
|
Uniform_Buffer uniform_buffer;
|
|
Texture texture;
|
|
Mesh mesh;
|
|
Matrix4 view_matrix = Matrix4(1.0f);
|
|
Matrix4 projection_matrix = Matrix4(1.0f);
|
|
User_Interface user_interface;
|
|
Render_Data render_data;
|
|
Timer timer;
|
|
};
|
|
|
|
|
|
bool init_renderer(Renderer *renderer, u32 width, u32 height);
|
|
void set_renderer_size(Renderer *renderer, u32 width, u32 height);
|
|
void draw_renderer(Renderer *renderer);
|
|
void upload_renderer_data(Renderer *renderer, Mesh *vertex_data);
|
|
void cleanup_renderer(Renderer *renderer);
|
|
void handle_key_events(Renderer *renderer, s32 key, s32 scancode, s32 action, s32 mods);
|