FLOAT32 CFrmPerlin::Turbulence1( const FLOAT32 x, FLOAT32 fFreq ) { FLOAT32 t = 0.0f; do { t += Noise1(fFreq * x) / fFreq; fFreq *= 0.5f; } while (fFreq >= 1.0f); return t; }
float GNoise::Noise(float vec[], int len) { switch (len) { case 0: return 0.; case 1: return Noise1(vec[0]); case 2: return Noise2(vec); default: return Noise3(vec); } }
FLOAT32 CFrmPerlin::TileableNoise1(const FLOAT32 x, const FLOAT32 w) { return( Noise1( x ) * ( w - x ) + Noise1( x - w ) * x ) / w; }