Advertisement
JamesK89

libnoise code for terrain generation

Dec 30th, 2016
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.92 KB | None | 0 0
  1. double gnoise(double x, double z)
  2. {
  3.     Billow modBillow;
  4.     ScaleBias modScale;
  5.     RidgedMulti modRidged;
  6.     Perlin modNoise;
  7.     ScaleBias modNoiseScale;
  8.     Select modSelect;
  9.  
  10.     modBillow.SetNoiseQuality(NoiseQuality::QUALITY_FAST);
  11.     modBillow.SetOctaveCount(8);
  12.     modBillow.SetFrequency(0.15);
  13.  
  14.     modScale.SetSourceModule(0, modBillow);
  15.     modScale.SetScale(0.125);
  16.     modScale.SetBias(1.0);
  17.  
  18.     modNoise.SetNoiseQuality(NoiseQuality::QUALITY_FAST);
  19.     modNoise.SetOctaveCount(8);
  20.     modNoise.SetFrequency(0.10);
  21.     modNoise.SetPersistence(0.25);
  22.  
  23.     modNoiseScale.SetSourceModule(0, modNoise);
  24.     modNoiseScale.SetScale(0.45);
  25.     modNoiseScale.SetBias(-1.0);
  26.  
  27.     modSelect.SetSourceModule(0, modScale);
  28.     modSelect.SetSourceModule(1, modNoiseScale);
  29.     modSelect.SetControlModule(modRidged);
  30.     modSelect.SetBounds(-1000.0, 1000.0);
  31.     modSelect.SetEdgeFalloff(0.125);
  32.  
  33.     double value = modSelect.GetValue(x, 0.01, z);
  34.  
  35.     return (value / 2.0) + 0.5;
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement