X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Frender%2Frenderer.cpp;h=4beb2da7eca300d13450806b65d2eb503cd71f8e;hp=d3124f0da334c7439e630266db0eef7c8c4654cf;hb=b4941cd1f0b0b5d9cebc978379b4936a5070ca92;hpb=3122f36e64694f5e3f536fa1cca57bf5a3db5c2f diff --git a/source/render/renderer.cpp b/source/render/renderer.cpp index d3124f0d..4beb2da7 100644 --- a/source/render/renderer.cpp +++ b/source/render/renderer.cpp @@ -10,6 +10,7 @@ #include "renderable.h" #include "renderer.h" #include "resourcemanager.h" +#include "resources.h" #include "sampler.h" #include "texture.h" #include "vertexarray.h" @@ -20,7 +21,8 @@ using namespace std; namespace Msp { namespace GL { -Renderer::Renderer() +Renderer::Renderer(): + placeholder_texture(Resources::get_global().get("_placeholder.png")) { state_stack.reserve(16); shdata_stack.reserve(32); @@ -148,8 +150,12 @@ void Renderer::set_texture(Tag tag, const Texture *tex, int level, const Sampler State &state = get_state(); if(tex) + { if(ResourceManager *res_mgr = tex->get_manager()) res_mgr->resource_used(*tex); + if(!tex->is_loaded()) + tex = &placeholder_texture; + } if(texture_stack.size()>state.texture_count) {