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
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 |
|
|
|
|