From: christopher.g.dorosky++at++lmco.com
Date: 08/25/2000 12:55:44
Per,
pfPrint seems to crash very easily on the descend if the memory is
corrupted.
As for the reference counts, you really don't want to delete the texture
until pfDelete lets you. If the texture is attached to a geostate, you have
to unattach it. The maketexlist may contain pointers to the texture, which
should probably be removed from the list before deleting too. Even if
deleting the GL handle doesn't appear to help memory wise, do it anyway. The
voodoo magic rules of texture memory require this, to keep lots of automagic
things from happening.
There is some pfu or pfd call that exhaustively searches a node (you can
pass it the scene) and looks for textures. You can use this to try to find
out who still has a hold of it.
I don't believe that there is much point in calling asyncdelete from the
dbase, if you do pfdelete instead, you can get the status return to make
sure you did what you wanted to do.
Christopher Dorosky
Lead Electronic Systems Engineer - Real Time Simulation
Lockheed Martin Missiles and Fire Control - Dallas
christopher.g.dorosky++at++lmco.com
972-603-2349
> ----------
> From: Per Fahlberg[SMTP:Per.Fahlberg++at++saab.se]
> Reply To: Per.Fahlberg++at++saab.se
> Sent: Friday, August 25, 2000 4:31 AM
> To: info-performer++at++sgi.com
> Subject: Texture references
>
> Hi all!
>
> I'm developing a program for paging terrain tiles in Performer and I
> have a problem.
>
> When loading the terrain I use pfdLoadFile and the files are in .pfb
> format. When deleting the nodes created by pfdLoadFile I use
> pfBufferRemoveChild and pfAsyncDelete on the nodes. All loading and
> deleteing is done in dbase. I have understood from other entries in the
> mailing list that I have to delete the textures explicitly in DRAW. I do
> that by calling deleteGLHandle on the textures that i got from calling
> pfuMakeTexList on the nodes. This dosen't seem to free up any memory for
> me (checked with amallinfo). I also made a call to pfDelete on the
> texture, but this dosen't work because the refernce count of the texture
> is 3. If I used pfFree instead it freed the memory but generated a
> warning message about the reference count.
> What is referencing the texture?
> Is there something I've forgott to delete or something I have missed?
>
> Another thing I'm having problem with is that if I call find in dbase
> this makes my program crash. Same thing happens when I tried to pfPrint
> with decend set. Is it not possible to call these functions from within
> dbase?
>
> /Per Fahlberg
> -----------------------------------------------------------------------
> List Archives, FAQ, FTP: http://www.sgi.com/software/performer/
> Submissions: info-performer++at++sgi.com
> Admin. requests: info-performer-request++at++sgi.com
>
This archive was generated by hypermail 2b29 : Fri Aug 25 2000 - 12:58:02 PDT