A small OpenGL 3+ renderer and game engine
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

50 lines
974 B

#pragma once
#include <GL/glew.h>
#include <glm/glm.hpp>
#include "camera.h"
#include "lights.h"
#include "mesh.h"
#include "shader_program.h"
struct render_objects;
//struct simple_render_object;
render_objects*
roInitModel(mesh_group meshes);
render_objects*
roInitSimpleMesh(simple_mesh& mesh_in, GLenum draw_mode);
void
roFree(render_objects* r_objs);
void
roTranslate(render_objects* r_objs, glm::mat4 xform);
void
roScale(render_object* ro, glm::mat4 xform);
void
roRotate(render_object* ro, glm::mat4 xform);
// TODO: we probably want to re-introduce a world_transform matrix here again
// so we can do: projection * view * world_transform * model_transform
// that way model animations and world orientation/position can be separated
void
roDraw(render_objects* r_ojbs,
camera& cam,
shader_wrapper sw,
light_group* lights);
#if 0
void
roDrawSimple(simple_render_object* ro,
camera& cam,
simple_shader_program& shader,
GLenum draw_mode);
#endif