Hi Fabien,

Oh boy, wow, what a complicated test example...  I'm still trying to
sift through the code to work what is doing what.  It really does more
complicated in the way it tackles each problem that it need be.  It's
going to take me a little while to get me head around it.

Does it need to be this convoluted?

Robert.

On Fri, Nov 5, 2010 at 10:42 AM, Fabien Lavignotte
<[email protected]> wrote:
>  Hi Robert,
>
> I sent you the sample code to reproduce the issues with the texture pool.
> First, this code is really experimental. The goal is to apply a generated 
> texture on TerrainTile.
> So it uses a lot of stuff : osgDB::ReadFileCallback to intercept terrain tile 
> loading and a pool of camera with a shared FBO to generate the texture. So 
> not a very basic OSG usage :)
>
> To test the app, you need to pass a VPB database as argument, generated with 
> --terrain.
> By pressing 'i', you can display the texture pool statistics in the console.
> To view the problem, you need to navigate on the earth, in order to have a 
> lot of tiles created and destroyed.
>
> With the correction on texture pool size, I have a better understanding of 
> what happens.
> Without the fix on copyTexImage2D (so using moveToSet) : the texture pool 
> size grows when navigating on the earth, texture object are never deleted...
> With the fix, the texture pool size is kept under a certain limit, everything 
> is working fine.
>
> I don't understand why the texture object are not deleted, when they are 
> moved to another set. At first sight, the code looks correct...
>
> Cheers,
> Fabien
>
> -----Original Message-----
> From: [email protected] 
> [mailto:[email protected]] On Behalf Of Robert 
> Osfield
> Sent: jeudi 4 novembre 2010 18:55
> To: OpenSceneGraph Submissions
> Subject: Re: [osg-submissions] Reusing TextureObject in copyTexImage2D
>
> Hi Fabian,
>
> I have now checked in the changes to include/osg/Texture src/osg/Texture.cpp 
> to correct the setAllocated(..)'s handling of the texture pool size.
>
> Cheers,
> Robert.
>
> On Thu, Nov 4, 2010 at 5:41 PM, Robert Osfield <[email protected]> 
> wrote:
>> HI Fabian,
>>
>> <[email protected]> wrote:
>>> While you are on the subject, I send you a possible fix for the
>>> texture pool size problem. It compiles but I didn't validate it really 
>>> works.
>>> You have a better understanding of the texture pool management, so
>>> maybe you can decide if the fix is correct.
>>
>> The fix looks good, but the addition of the computeSize() made me
>> curious why it was needed, so I had a look a TextureProfile::set(..)
>> method, this didn't call computeSize() as it should have, which is why
>> you had to call computeSize() explicitly.  I've now added the call to
>> computeSize() into the set method so now it should be possible to
>> simply do:
>>
>>        // keep previous size
>>        unsigned int previousSize = _profile._size;
>>
>>
>> _profile.set(numMipmapLevels,internalFormat,width,height,depth,border)
>> ;
>>
>>        if (_set)
>>        {
>>            _set->moveToSet(this,
>> _set->getParent()->getTextureObjectSet(_profile));
>>
>>            // Update texture pool size
>>            _set->getParent()->getCurrTexturePoolSize() -=
>> previousSize;
>>            _set->getParent()->getCurrTexturePoolSize() +=
>> _profile._size;
>>       }
>>
>> I'm currently awaiting on a clean build before I check this fix in.
>>
>> Cheers,
>> Robert.
>>
> _______________________________________________
> osg-submissions mailing list
> [email protected]
> http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
>
> ______________________________________________________________________
> This email has been scanned by the MessageLabs Email Security System.
> For more information please visit http://www.messagelabs.com/email 
> ______________________________________________________________________
>
> ______________________________________________________________________
> This email has been scanned by the MessageLabs Email Security System.
> For more information please visit http://www.messagelabs.com/email
> ______________________________________________________________________
> _______________________________________________
> osg-submissions mailing list
> [email protected]
> http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
>
>
_______________________________________________
osg-submissions mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org

Reply via email to