diff options
author | lhofhansl <lhofhansl@yahoo.com> | 2017-10-28 01:33:47 -0700 |
---|---|---|
committer | SmallJoker <mk939@ymail.com> | 2018-06-03 17:32:00 +0200 |
commit | 73baeb82ef686991dfbfc1a8b915cbe8e657e33e (patch) | |
tree | d3d6ba736dd74e702454763e49f499710d5c053c | |
parent | 7b8288d605260a92693a93a85134555a8c975bb9 (diff) | |
download | minetest-73baeb82ef686991dfbfc1a8b915cbe8e657e33e.tar.gz minetest-73baeb82ef686991dfbfc1a8b915cbe8e657e33e.tar.bz2 minetest-73baeb82ef686991dfbfc1a8b915cbe8e657e33e.zip |
Avoid filtering low-res textures for animated meshes (incl. players) (#6562)
-rw-r--r-- | src/content_cao.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/content_cao.cpp b/src/content_cao.cpp index e90bb90ca..994f0492a 100644 --- a/src/content_cao.cpp +++ b/src/content_cao.cpp @@ -1355,6 +1355,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<u32> &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) |