<div dir="ltr"><div><div><div>Hi Scott,<br><br></div>The compression code has been in place quite some while so I'm surprised to see a report of problem now.  Did this work with previous drivers/OSG versions/different hardware?<br><br></div>Could you provide a small example and explanation of how to reproduce it so others can see if they can reproduce the problem?<br><br></div><div>Thanks,<br></div>Robert.<br></div><div class="gmail_extra"><br><div class="gmail_quote">On 22 September 2015 at 20:51, Davis, Timothy S CTR comnavairsyscom <span dir="ltr"><<a href="mailto:timothy.s.davis.ctr@navy.mil" target="_blank">timothy.s.davis.ctr@navy.mil</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I had an issue with OSG 3.4.0 when using a compressed 32x32 texture causing an INVALID_OPERATION in Texture::applyTexImage2D_load when calling glCompressTexSubImage2D.  This is called only when the texture storage object is used.  This resulted in the texture rendering as black.  Note that the texture was loaded from a IVE file created with an earlier version of OSG.<br>
<br>
After some investigation, I suspected that a possible cause was that the texture included mipmaps down to 2x2 and 1x1 in size.  The S3TC compression being used has a block size of 4 so cannot be used for these small mipmap levels.  Modifying numMipmapLevels by subtracting 2 if the image is compressed and using texture storage corrected the problem.  However this is likely not the best solution.<br>
<br>
My limited knowledge of OpenGL and this error suggests that this may be highly dependent on the OpenGL implementation.  I had several other compressed textures larger than 32x32 with mipmaps down to 2x2 and 1x1 that worked fine without this change.  The OpenGL documentation (see EXT_texture_compression_s3tc among others) however states that if the width or height are not multiples of 4 then the result is an INVALID_OPERATION. This can go unnoticed when not using a texture storage object.  But with the texture storage object, the error was generated when loading the full texture (i.e. level 0).<br>
<br>
If my understanding is correct, others may have had similar issues with compressed textures with mipmaps. They have worked around the issue by disabling mipmaps for compressed textures in ReaderWriterDDS for example. If the above holds true, then it may point to the underlying problem.<br>
<br>
Windows 7 64-bit, nVidia Driver 352.86, OSG 3.4.0<br>
<br>
Scott<br>
<br>
<br>_______________________________________________<br>
osg-users mailing list<br>
<a href="mailto:osg-users@lists.openscenegraph.org">osg-users@lists.openscenegraph.org</a><br>
<a href="http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org" rel="noreferrer" target="_blank">http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org</a><br>
<br></blockquote></div><br></div>