From 55d04ef38145101b2214744baccf0bedd28bb611 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Sun, 8 Dec 2002 17:22:20 +0000 Subject: [PATCH] Modifed the .attr loaders handling if TX_BILINEAR minification filter so that it remaps it to LINEAR_MIPMAP_LINEAR to get round image quality issue of some OpenFlight databases. --- src/osgPlugins/flt/ReaderWriterATTR.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/osgPlugins/flt/ReaderWriterATTR.cpp b/src/osgPlugins/flt/ReaderWriterATTR.cpp index c260cd179..08e122375 100644 --- a/src/osgPlugins/flt/ReaderWriterATTR.cpp +++ b/src/osgPlugins/flt/ReaderWriterATTR.cpp @@ -613,7 +613,11 @@ StateSet* Attr::createOsgStateSet() osgTexture->setFilter(osg::Texture2D::MIN_FILTER, Texture2D::NEAREST); break; case MIN_FILTER_BILINEAR: - osgTexture->setFilter(osg::Texture2D::MIN_FILTER, Texture2D::LINEAR); + // TX_BILINEAR is an old IrisGL mode which should map to OpenGL's LINEAR + // osgTexture->setFilter(osg::Texture2D::MIN_FILTER, Texture2D::LINEAR); + // but we're getting awful quality so we'll use LINEAR_MIP_MAP_LINEAR instead. + osg::notify(osg::INFO) << "texture mode MIN_FILTER_BILINEAR encountered, remapping to LINEAR_MIPMAP_LINEAR"<setFilter(osg::Texture2D::MIN_FILTER, Texture2D::LINEAR_MIPMAP_LINEAR); break; case MIN_FILTER_MIPMAP_POINT: osgTexture->setFilter(osg::Texture2D::MIN_FILTER, Texture2D::NEAREST_MIPMAP_NEAREST); @@ -628,15 +632,22 @@ StateSet* Attr::createOsgStateSet() osgTexture->setFilter(osg::Texture2D::MIN_FILTER, Texture2D::LINEAR_MIPMAP_LINEAR); break; case MIN_FILTER_BICUBIC: + cout << "MIN_FILTER_BICUBIC"<setFilter(osg::Texture2D::MIN_FILTER, Texture2D::LINEAR); break; case MIN_FILTER_BILINEAR_GEQUAL: case MIN_FILTER_BILINEAR_LEQUAL: + // from IrisGL->OpenGL doc its looks like this is old IrisGL mdoe for shadowing support. + // should probably look + osg::notify(osg::INFO) << "texture mode MIN_FILTER_BILINEAR_*EQUAL encountered, remapping to LINEAR"<setFilter(osg::Texture2D::MIN_FILTER, Texture2D::LINEAR); break; case MIN_FILTER_BICUBIC_GEQUAL: case MIN_FILTER_BICUBIC_LEQUAL: default: + // from IrisGL->OpenGL doc its looks like this is old IrisGL mdoe for shadowing support. + // should probably look + osg::notify(osg::INFO) << "texture mode MIN_FILTER_BICUBIC_*EQUAL encountered, remapping to LINEAR"<setFilter(osg::Texture2D::MIN_FILTER, Texture2D::LINEAR); break; }