[osg-users] CompositeViewer context cleanup and missing textures
J.P. Delport
jpdelport at csir.co.za
Tue Nov 24 07:34:33 PST 2009
Hi Robert,
J.P. Delport wrote:
> Hi Robert,
>
> it seems to be something broken on context destruction with the new
> texture pool. The orphaned list does not seem to be cleared properly. A
> texture is used from the orphaned list even though the context it
> belonged to had been destroyed earlier.
>
> When libosg is compiled with
>
> #define USE_NEW_TEXTURE_POOL 1
>
> commented out, the example works as expected.
Latest svn also works, so you've already fixed what I tried to describe
above. That'll teach me to update before I go bug hunting.
rgds
jp
>
> regards
> jp
>
> J.P. Delport wrote:
>> Hi,
>>
>> Robert Osfield wrote:
>>> Hi J.P.
>>>
>>> I'm still knee deep in merging submissions so can't yet go off
>>> reviewing user code. In principle it is possible to mange open and
>>> closing viewers. I can point you in the right direction but have to
>>> let you get on with it otherwise.
>>
>> I understand, I'll try search for cleanup code, just not sure where to
>> start.
>>
>> Anyone else?
>>
>> jp
>>
>>>
>>> Robert.
>>>
>>> On Tue, Nov 24, 2009 at 12:32 PM, J.P. Delport <jpdelport at csir.co.za>
>>> wrote:
>>>> Hi Robert,
>>>>
>>>> Robert Osfield wrote:
>>>>> Hi J.P,
>>>>>
>>>>> The typical problem is that the scene graph has been set up to unref
>>>>> texture images after apply so when it comes to reloading the texture
>>>>> images there aren't the to download.
>>>> should this still happen when I'm completely reloading a scene after
>>>> the
>>>> viewer and scene have been deleted completely?
>>>>
>>>> It seems that OSG thinks there is still a valid texture it can use
>>>> after
>>>> I've deleted the scene and CompositeViewer.
>>>>
>>>> Running the attached e.g.:
>>>> ./test cow.osg
>>>>
>>>> Constructing PixelBufferObject for image=0x9547928
>>>> _maxTexturePoolSize=0
>>>> _maxBufferObjectPoolSize=0
>>>> Created new TextureObject, _numOfTextureObjects 1
>>>> Created new TextureObject, _numOfTextureObjects 1
>>>>
>>>> now I click the X on the window and the app deletes the scene and
>>>> viewer and
>>>> creates them anew:
>>>>
>>>> _maxTexturePoolSize=0
>>>> _maxBufferObjectPoolSize=0
>>>> Reusing orhpahned TextureObject, _numOfTextureObjects=1
>>>> Warning: detected OpenGL error 'invalid value' after RenderBin::draw(,)
>>>> Reusing orhpahned TextureObject, _numOfTextureObjects=1
>>>> Warning: detected OpenGL error 'invalid value' after RenderBin::draw(,)
>>>>
>>>> So it tries to reuse something that's not there? How can I convince
>>>> OSG to
>>>> drop all caches/buffers/GL objects?
>>>>
>>>> jp
>>>>
>>>>
>>>>> Robert.
>>>>>
>>>>> On Tue, Nov 24, 2009 at 9:17 AM, J.P. Delport <jpdelport at csir.co.za>
>>>>> wrote:
>>>>>> Hi all,
>>>>>>
>>>>>> I've run into the classic "missing textures" problem when stopping
>>>>>> and
>>>>>> restarting a compositeviewer multiple times in the same app. From
>>>>>> previous
>>>>>> threads on this problem it seems to be context cleanup/GL object
>>>>>> cleanup
>>>>>> that does not get done properly, but I'm just using the normal
>>>>>> CompositeViewer and not messing with contexts/windows/sceneviews
>>>>>> myself,
>>>>>> so
>>>>>> I thought the cleanup would be handled correctly.
>>>>>>
>>>>>> Attached a very slightly modified compositeviewer example. All it
>>>>>> does is
>>>>>> create/destruct the compositeviewer 5 times. When the viewer is
>>>>>> created
>>>>>> for
>>>>>> the second time, all my textures are gone (just run without any
>>>>>> arguments).
>>>>>>
>>>>>> Can anyone confirm the missing textures? Any hints as to what else
>>>>>> needs
>>>>>> to
>>>>>> be done to make sure everything is cleared/flushed correctly?
>>>>>>
>>>>>> thanks
>>>>>> jp
>>>>>>
>>>>>> --
>>>>>> This message is subject to the CSIR's copyright terms and conditions,
>>>>>> e-mail
>>>>>> legal notice, and implemented Open Document Format (ODF) standard.
>>>>>> The
>>>>>> full
>>>>>> disclaimer details can be found at
>>>>>> http://www.csir.co.za/disclaimer.html.
>>>>>>
>>>>>> This message has been scanned for viruses and dangerous content by
>>>>>> MailScanner, and is believed to be clean. MailScanner thanks
>>>>>> Transtec
>>>>>> Computers for their support.
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> osg-users mailing list
>>>>>> osg-users at lists.openscenegraph.org
>>>>>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>>>>>
>>>>>>
>>>>>>
>>>>> _______________________________________________
>>>>> osg-users mailing list
>>>>> osg-users at lists.openscenegraph.org
>>>>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>>>>
>>>>>
>>>> --
>>>> This message is subject to the CSIR's copyright terms and
>>>> conditions, e-mail
>>>> legal notice, and implemented Open Document Format (ODF) standard.
>>>> The full
>>>> disclaimer details can be found at
>>>> http://www.csir.co.za/disclaimer.html.
>>>>
>>>> This message has been scanned for viruses and dangerous content by
>>>> MailScanner, and is believed to be clean. MailScanner thanks Transtec
>>>> Computers for their support.
>>>>
>>>>
>>>> _______________________________________________
>>>> osg-users mailing list
>>>> osg-users at lists.openscenegraph.org
>>>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>>>
>>>>
>>>>
>>> _______________________________________________
>>> osg-users mailing list
>>> osg-users at lists.openscenegraph.org
>>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>>
>>
>
--
This message is subject to the CSIR's copyright terms and conditions, e-mail legal notice, and implemented Open Document Format (ODF) standard.
The full disclaimer details can be found at http://www.csir.co.za/disclaimer.html.
This message has been scanned for viruses and dangerous content by MailScanner,
and is believed to be clean. MailScanner thanks Transtec Computers for their support.
More information about the osg-users
mailing list