X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Frender%2Finstancearray.cpp;h=4a24ac456b6439935d28c063cf94fb4143b109aa;hb=9e63512930bc7dace6dc169c65161961e5dcfcf6;hp=37d7ccb68e3815f8f24b31351d904f4f41175490;hpb=96cfb8224fe73afd04289a5d1c7780170f479e25;p=libs%2Fgl.git diff --git a/source/render/instancearray.cpp b/source/render/instancearray.cpp index 37d7ccb6..4a24ac45 100644 --- a/source/render/instancearray.cpp +++ b/source/render/instancearray.cpp @@ -1,7 +1,6 @@ #include #include #include "buffer.h" -#include "camera.h" #include "instancearray.h" #include "mesh.h" #include "object.h" @@ -16,13 +15,10 @@ namespace Msp { namespace GL { InstanceArray::InstanceArray(const Object &o): - object(o), - instance_buffer(0), - matrix_location(-1), - matrix_offset(0) + object(o) { const Technique *tech = object.get_technique(); - for(const auto &kvp: tech->get_passes()) + for(const auto &kvp: tech->get_methods()) { const Program *shprog = kvp.second.get_shader_program(); if(!shprog) @@ -102,8 +98,8 @@ void InstanceArray::render(Renderer &renderer, Tag tag) const const Technique *tech = object.get_technique(); if(!tech) throw logic_error("no technique"); - const RenderPass *pass = tech->find_pass(tag); - if(!pass) + const RenderMethod *method = tech->find_method(tag); + if(!method) return; const Mesh *mesh = object.get_mesh(); @@ -113,7 +109,7 @@ void InstanceArray::render(Renderer &renderer, Tag tag) const instance_data.refresh(); Renderer::Push push(renderer); - pass->apply(renderer); + method->apply(renderer); mesh->draw_instanced(renderer, vtx_setup, instances.size()); }