X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fsampler.cpp;h=5375d17dfc5072d9108334b1627e930449da5e4d;hp=cc54901b683a5f635f73eb69252eb8a9b82fa59e;hb=d99f756830d39437d88e6cc7af034c3074b0bd86;hpb=5d2b42b370d4669e2eb018cb3bdf46293f4c04ea diff --git a/source/sampler.cpp b/source/sampler.cpp index cc54901b..5375d17d 100644 --- a/source/sampler.cpp +++ b/source/sampler.cpp @@ -217,9 +217,23 @@ void Sampler::unbind_from(unsigned i) void Sampler::unload() { - // TODO check which params actually need refreshing - if(!owner->get_id()) - dirty_params = -1; + if(owner && !owner->get_id()) + { + if(min_filter!=NEAREST_MIPMAP_LINEAR) + dirty_params |= MIN_FILTER; + if(mag_filter!=LINEAR) + dirty_params |= MAG_FILTER; + if(max_anisotropy!=1.0f) + dirty_params |= MAX_ANISOTROPY; + if(wrap_s!=REPEAT) + dirty_params |= WRAP_S; + if(wrap_t!=REPEAT) + dirty_params |= WRAP_T; + if(wrap_r!=REPEAT) + dirty_params |= WRAP_R; + if(compare || cmp_func!=LEQUAL) + dirty_params |= COMPARE; + } }