<div dir="ltr">HI David,<br><div class="gmail_extra"><br><div class="gmail_quote">On 25 August 2015 at 01:00, David Guthrie <span dir="ltr"><<a href="mailto:dguthrie@alionscience.com" target="_blank">dguthrie@alionscience.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I had modified the code to just ignore all loaded mipmaps in a few of the plugins to fix it, but everything work in older versions of OSG.  The code is so different now, it's hard to tell what change triggered the problem.<br></blockquote><div><br></div><div>If you follow the thread you'll find an explanation for what has revealed the problem with the OSX drivers - the DDS plugin previous ignored the mipmap stored in the file, but this was fixed so that the it loaded an osg::Image with all mipmaps correctly in place.  Once an osg::Image has mipmaps the .osgb and .ive plugins will write out then later reading in the mipmaps.<br><br></div><div>The solution is *NOT* to modify the plugin, the plugins are *CORRECT*.<br><br></div><div>The workaround for the OSX driver bug is to traverse the loaded subgraphs to find the osg::Image and disable the mipmaps.   This workaround can be done without any modifications to the OSG and done in a single place in your own applications - a ReadFileCallback that the does the traversal would problem this to automatically handle any loaded models - you'd just attach it to the osgDB::Registry::instance() when you run your application on OSX.<br><br></div><div>This suggest route also doesn't hamper other platforms where the GL drivers are working correctly.  Stored mipmaps are the most efficient way to get fully mipmapped imagery to the GPU so is the recommended route.  Under OSX we'll just have to put up with the workaround and performance overhead associated with the driver/GPU computing the mipmaps.<br><br></div><div>Longer term Apple will hopefully fix their GL drivers and you'll be able to drop the workaround.<br></div><div><br></div><div>Robert.<br></div><div><br><br></div><div> </div></div></div></div>