|
![](/i/fill.gif) |
I've been busy with the noise function this last weekend (the one in
texture.c, not the isosurface function) and I got some interresting
results I thought I'd share my progress:
* I found a slight optimization that allows it to compute faster;
* I rewrote it from scratch and got a new version that's even faster for
very similar results (but the results are different, so if you spent a
lot of tim placing your building just right in your ridged mf landscape
you won't want to use this one). The drawback is that it uses more
memory (Not so much of a problem with modern computers as it was when
the original was written);
* then I lost all the speed I had gained and then some by fixing the
range problem (very big or very negative numbers give bad result) that
occurs both with the original and my implementation.
Here are some numbers. I computed the minimum, maximum, mean and
standard deviation in a 64 units wide cube sampling every 0.1 unit and
got the following durations (in seconds):
original range fixed
megapov 505.56 628.10
improved MP 439.49 608.75
mine 421.29 606.45
Next order of business for me (next we) is to look into DNoise and see
if the same kind of optimizations are possible. Then I intend to add
keywords in global settings to allow people to choose between improved
mp and mine, and between range fixed or not. What kind of keywords would
you prefer?
PS: I just noticed that there's a bug in the "range fixed" version. It
should be slightly faster than the numbers I just gave, but not much...
--
* Doctor Jekyll had something * mailto:ber### [at] iname com
* to Hyde... * http://www.enst.fr/~jberger
*******************************
Post a reply to this message
|
![](/i/fill.gif) |