Robert

Sorry for the bad posting of my last message.  I'll repeat here and update with 
new information.

The code in question was added sometime during OSG 3.3.x development.  It was 
not in OSG 3.2.1.  I just recently jumped from 3.2.1 to 3.4.0 for my 
application which is when I ran into the problem.  It worked fine with OSG 
3.2.1.  In particular, it appears to be the added support for texture storage 
objects and not specifically "compressed texture support".  I noted the call 
that gave the error was glCompressTexSubImage2D.  However I should point out 
that I determined this using gDEBugger.  My version doesn't seem to understand 
the texture storage extension.  So the error may have been generated by the 
earlier call to setup the texture storage.  I checked into this and indeed an 
INVALID_OPERATION was generated by the call to glTexStorage2D. 

In addition, on my machine the problem doesn't affect all compressed textures 
with mipmaps.  The model that first caused the problem had several such 
textures, but only a small 32x32 texture resulted in a problem.  I have no idea 
why this would be the case.  However I remember others reporting issues with 
loading DDS textures and working around it by commenting out the following line 
in ReaderWriterDDS:
If ( mipmap_offset.size()>0) osgImage->setMipmapLevels(mipmap_offsets);
Commenting that line out would appear to disable mipmaps for compressed 
textures and avoid the problems I've indicated.  This older problem was 
reported only on OSX, but may be related.  This type of changed made to the IVE 
loader would also have fixed my problem at the expense of disabling mipmaps.

Looking at a different model, the one problem texture was 128x128.  So there 
appears to be nothing special about the size.  I did see that the rendering 
result for the models that have the problem is different between using the 
fixed-function pipeline and a shader.  With the FFP, the rendering appears 
correct, though the INVALID_OPERATION error is generated.  With a shader, the 
textures rendered black.

I looked at making a simple model that would reproduce the problem.  However, 
I've failed to create such a model.  It just always works with no render 
problems or OpenGL errors.

For my application, I've worked around the problem by reducing the number of 
mipmap levels to avoid using levels smaller than the compression block size.  
So I consider the problem fixed for me.  However, I feel this is information 
that you and the rest of the community can use.


Scott

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to