X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fsampler.cpp;h=5375d17dfc5072d9108334b1627e930449da5e4d;hb=bc1675de82ea5c4a07bea4c5afa9c59c497464d2;hp=cc54901b683a5f635f73eb69252eb8a9b82fa59e;hpb=6cbcaf877f0be27b4d921d1c182f5e21d4662268;p=libs%2Fgl.git 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; + } }