X-Git-Url: https://eleni.mutantstargoat.com/git/?p=demo;a=blobdiff_plain;f=src%2Frenderer.cc;h=353d0db39543cc7a737418aae0011336489edeb4;hp=180f00332901ecc8879dfbdd196badbd994088ec;hb=fcd6773bc770425ede4b47a84eef7cc78342542c;hpb=4bc86b416f29b4889075ad5c8dfdb1e11454a6c3 diff --git a/src/renderer.cc b/src/renderer.cc index 180f003..353d0db 100644 --- a/src/renderer.cc +++ b/src/renderer.cc @@ -1,5 +1,11 @@ +#include "global.h" + +#include "camera.h" +#include "object.h" #include "renderer.h" +#include "scene.h" #include "shader.h" +#include "shader_manager.h" Renderer::Renderer() { @@ -8,18 +14,26 @@ Renderer::Renderer() sprog = 0; } -Renderer::Renderer(ShaderProgram *sprog, Scene *scene, Camera *camera) +Renderer::~Renderer() { - this->scene = scene; - this->sprog = sprog; - this->camera = camera; } -Renderer::~Renderer() +bool Renderer::create() +{ + if(!(sprog = sdr_man->create_shader_program("default.v.glsl", "default.f.glsl"))) { + return false; + } + return true; +} + +void Renderer::draw() const { + if(!camera || !scene) + return; + + // sprog->set_uniform_matrix(mview_loc, camera->get_view_matrix()); } -void Renderer::set_program(ShaderProgram *sprog) +void Renderer::draw_object(Object *object) const { - this->sprog = sprog; } \ No newline at end of file