MikeCarter
09-14-2005, 11:20 AM
Here's a puzzler that I'm hoping someone else has seen. It involves shared cube map texture objects. Here's what happens: I have an existing GLRC in a window, displaying a model mapped with a cube environment map. It renders just fine to this point. Then I create a pbuffer GLRC, call wglShareLists() (which reports success) against the original GLRC, and render the same model using the now-shared cube map texture object. The texture is dropped, and does not render.
This behavior happens across driver versions, across vendors (both ATI & nVIDIA), and across applications. If I sabotage the code that calls wglShareLists() and keep separate texture objects for the pbuffer context, then it renders just fine.
All other shared OGL state is happy. Display lists, shader objects, and all other types of texture objects are properly shared and rendered. It is only cube map texture objects that are affected. I have also tried packing all six faces into the same texobj, and splitting the six faces into six separate texobjs, all with the same result.
Does anyone have any experience or suggestions with this sort of thing?
This behavior happens across driver versions, across vendors (both ATI & nVIDIA), and across applications. If I sabotage the code that calls wglShareLists() and keep separate texture objects for the pbuffer context, then it renders just fine.
All other shared OGL state is happy. Display lists, shader objects, and all other types of texture objects are properly shared and rendered. It is only cube map texture objects that are affected. I have also tried packing all six faces into the same texobj, and splitting the six faces into six separate texobjs, all with the same result.
Does anyone have any experience or suggestions with this sort of thing?