From: lhofhansl Date: Sat, 28 Oct 2017 08:33:47 +0000 (-0700) Subject: Avoid filtering low-res textures for animated meshes (incl. players) (#6562) X-Git-Tag: 5.0.0~754 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=610ea6f21629933be3b38c2b5fce53a35c5aac3a;p=oweals%2Fminetest.git Avoid filtering low-res textures for animated meshes (incl. players) (#6562) --- diff --git a/src/content_cao.cpp b/src/content_cao.cpp index 7178debaa..8bc9ad88e 100644 --- a/src/content_cao.cpp +++ b/src/content_cao.cpp @@ -1028,6 +1028,13 @@ void GenericCAO::updateTextures(std::string mod) material.setFlag(video::EMF_LIGHTING, false); material.setFlag(video::EMF_BILINEAR_FILTER, false); + // don't filter low-res textures, makes them look blurry + // player models have a res of 64 + const core::dimension2d &size = texture->getOriginalSize(); + const u32 res = std::min(size.Height, size.Width); + use_trilinear_filter &= res > 64; + use_bilinear_filter &= res > 64; + m_animated_meshnode->getMaterial(i) .setFlag(video::EMF_TRILINEAR_FILTER, use_trilinear_filter); m_animated_meshnode->getMaterial(i)