From: Angus Dorbie (dorbie++at++sgi.com)
Date: 06/19/2001 16:27:44
There are two calls, pfuMakeSceneTexList and pfuDownloadTexList these
can be used to build a list of textures from a scene and then to
download it to memory. You still have to load the textures, and that's
really up to the app. Since textures are shared based on filename it
should be enough simply to load the textures in Performer and build the
list manually then call pfuDownloadTexList. The other approach is to
create soem surrogate geometry with your textures applied to it and load
that at the start. You can then add this to the scene and draw it at the
start before removing it from the scene or use pfuMakeSceneTexList to
build the list from it and then use pfuDownloadTexList.
Perfly uses these calls but doesn't page data, all it's scene contents
are loaded from the very beginning.
Cheers,ANgus.
kcc++at++DynRes.com wrote:
>
> Angus, thanks for the help.
>
> Is there sample code anywhere for preloading all textures into texture memory from system memory (the "easier" way)?
>
> Kevin
> -----Original Message-----
> From: MIME :dorbie++at++sgi.com
> Sent: Monday, June 18, 2001 9:58 PM
> To: Kevin C. Chao
> Cc: info-performer++at++sgi.com
> Subject: Re: A question about the Loader
>
> You need to page asynchronously in the dbase process and then merge
> memory buffers in the app process to let the app know instantly about
> the object you have loaded over several frames. You can then add to the
> scene graph and it should hit the draw a few frames later.
>
> This may still cause some draw glitches due to texture loading from
> system memory to texture memory which you can work around by managing
> texture memory (which is difficult) or by preloading all textures
> (easier) but as a first attempt it should be MUCH better than your
> current approach.
>
> There is sample code in the pguide section and there are detailed
> discussions in the Performer email archives on how to do this.
>
> Cheers,Angus.
>
> kcc++at++DynRes.com wrote:
> >
> > Hi,
> >
> > Here is my question, please help.
> > Our driving simulation uses Performer for animation and Multigen for
> database creation. It calls pfuLoadFile("DatabaseName.flt") every time when
> loading a new road database. For larger databases, we found
> > that there are some graphical glitches (pauses on the graphics) the first
> time driving through the road, but the problem goes away on the second and
> succeeding runs. It looks like the visual objects are
> > paged in from the disk to the memory on the first run. Is there a way to let
> the database loaded to the memory all at once?
> >
> > Kevin
> >
> > -----------------------------------------------------------------------
> > List Archives, FAQ, FTP: http://www.sgi.com/software/performer/
> > Open Development Project: http://oss.sgi.com/projects/performer/
> > Submissions: info-performer++at++sgi.com
> > Admin. requests: info-performer-request++at++sgi.com
>
> --
> For Performer+OpenGL tutorials http://www.dorbie.com/
>
> "Whenever there is a conflict between human rights and property
> rights, human rights must prevail."
> --Abraham Lincoln
> -----------------------------------------------------------------------
> List Archives, FAQ, FTP: http://www.sgi.com/software/performer/
> Open Development Project: http://oss.sgi.com/projects/performer/
> Submissions: info-performer++at++sgi.com
> Admin. requests: info-performer-request++at++sgi.com
> << File: ENVELOPE.TXT >>
> -----------------------------------------------------------------------
> List Archives, FAQ, FTP: http://www.sgi.com/software/performer/
> Open Development Project: http://oss.sgi.com/projects/performer/
> Submissions: info-performer++at++sgi.com
> Admin. requests: info-performer-request++at++sgi.com
-- For Performer+OpenGL tutorials http://www.dorbie.com/"Whenever there is a conflict between human rights and property rights, human rights must prevail." --Abraham Lincoln
This archive was generated by hypermail 2b29 : Tue Jun 19 2001 - 16:26:39 PDT