Yair Kurzion (yair++at++polygon.engr.sgi.com)
Fri, 5 Feb 1999 13:05:49 -0800 (PST)
> I appreciate your help, but there is one more problem I was hoping you could
> help me resolve. I was able to get the ASDGen stuff to work and to generate the
> paged tiles. However, when I tried to use convasd to put the data into the final
> form, I encountered the following error:
>
> PF Fatal/Resource: pfMemory::new() Unable to allocate 2627774384 bytes
> from arena 0x4b4b4000.
> Try using pfSharedArenaSize() or env PFSHAREDSIZE
> to increase the arena size
> (currently 732421.88 KBytes) and check for adequate setrlimit()
> values and available space on swap (or pfTmpDir()).
>
> >From this, I assume that convasd loads the entire terrain into memory before
> processing, is that correct?
convasd allocates a single integer for each face/vertex in the full ASD. For
large databases this may cause a problem. At the moment, the function of
convasd is not included in ASDGen. If this becomes a problem (out of memory),
we'll have to add this functionality to ASDGen and make it
fixed-memory-signature.
> Out of curiosity I tried running asdfly with the data and it gave me a similar
> error, so I played with the numbers in the .ranges file, and I got asdfly to run.
> It reported that it was adding and removing tiles as I moved, however it didn't
> draw them. I really need to get this to work and I feel that I am so close, is
> there anything suggestions you can give me? Also, do you know what the parameters
> for the .cfg and .ranges files are? I was randomly messing with them trying to
> get convasd to work. Thanks.
Each line in the .ranges file contains two numbers: The size of the tile array
for each LOD that the ASD code will hold in memory at any given time. For
example, a line with the numbers `8 8' means that ASD will allocate an 8x8 array
of tiles, and will page these in and out of memory. A smaller numbers means
less tiles in memory. It also means that your application will be able to see
triangles of this LOD in limited ranges.
We choose these array sizes to match the switch-in range of an LOD with some
added cushion (lookahead parameters) to compensate for disk read latency.
The printouts from asdfly (about paging in tiles) are usually a healthy sign.
I assume you have a spherical ASD. When I test my spherical ASD's, my initial
camera position is usually inside the sphere. Since we get rid of backfacing
triangles, I see nothing. I have to push the model away quite a bit until the
camera emerges from the sphere and I can see it.
Also, if your sphere has a very large radius, it might be farther than the
FAR plane. As a sanity check, I would try a small sphere radius with few (< 5)
ASD levels (the `nof_asd_levels' parameter in the input file).
-yair
--
\_________ \_____ \__ \__ \_____ Yair Kurzion
\_________ \_____ \__ \__ \_____ yair++at++sgi.com
\__ \__ \____\__ \__ http://reality.sgi.com/yair
\__ \__ \__ Work: (650) 933-6502
\__ \__ \__ Home: (408) 226-9771
\__ \__ \__
This archive was generated by hypermail 2.0b2 on Fri Feb 05 1999 - 13:05:56 PST