X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fmaterials%2Frenderpass.cpp;h=5ee50f8a1726b39cf986740db7326c699281f2d6;hb=842c817bb679a5a0abc05e8149e2e6e0ae1a0412;hp=561eab6a7045f9f5448701398737cf370b4c1af6;hpb=dccad64b2ec82249d850b9745614042171499972;p=libs%2Fgl.git diff --git a/source/materials/renderpass.cpp b/source/materials/renderpass.cpp index 561eab6a..5ee50f8a 100644 --- a/source/materials/renderpass.cpp +++ b/source/materials/renderpass.cpp @@ -77,7 +77,7 @@ void RenderPass::maybe_create_material_shader(DataFile::Collection *coll) shprog.keep(); } else - shprog = material->create_compatible_shader(); + throw invalid_operation("no collection"); if(shdata) shdata = new ProgramData(*shdata, shprog.get()); @@ -124,12 +124,12 @@ void RenderPass::set_material(const Material *mat) finalize_material(0); } -void RenderPass::set_texture(unsigned index, const Texture *tex) +void RenderPass::set_texture(unsigned index, const Texture *tex, const Sampler *samp) { if(!texturing) texturing = new Texturing; - texturing->attach(index, *tex, texturing->get_attached_sampler(index)); + texturing->attach(index, *tex, (samp ? samp : texturing->get_attached_sampler(index))); } int RenderPass::get_texture_index(const string &n) const