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.
41 lines
819 B
41 lines
819 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; |
|
|
|
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); |
|
|
|
|