Clementine-audio-player-Mac.../3rdparty/libprojectm/Renderer/PerlinNoise.cpp

54 lines
1.2 KiB
C++
Raw Normal View History

2010-06-06 23:43:45 +02:00
/*
* PerlinNoise.cpp
*
* Created on: Jul 11, 2008
* Author: pete
*/
#include "PerlinNoise.hpp"
#include <iostream>
#include <stdlib.h>
PerlinNoise::PerlinNoise()
{
for (int x = 0; x < 256;x++)
for (int y = 0; y < 256;y++)
noise_lq[x][y] = noise(x , y);
for (int x = 0; x < 32;x++)
for (int y = 0; y < 32;y++)
noise_lq_lite[x][y] = noise(4*x,16*y);
for (int x = 0; x < 256;x++)
for (int y = 0; y < 256;y++)
noise_mq[x][y] = InterpolatedNoise((float)x/(float)2.0,(float)y/(float)2.0);
for (int x = 0; x < 256;x++)
for (int y = 0; y < 256;y++)
noise_hq[x][y] = InterpolatedNoise((float)x/(float)3.0,(float)y/(float)3.0);
for (int x = 0; x < 32;x++)
for (int y = 0; y < 32;y++)
for (int z = 0; z < 32;z++)
noise_lq_vol[x][y][z] = noise(x,y,z);
for (int x = 0; x < 32;x++)
for (int y = 0; y < 32;y++)
for (int z = 0; z < 32;z++)
noise_hq_vol[x][y][z] = noise(x,y,z);//perlin_noise_3d(x,y,z,6121,7,seed3,0.5,64);
int seed = rand()%1000;
int size = 512;
int octaves = sqrt((double)size);
for (int x = 0; x < size;x++)
for (int y = 0; y < size;y++)
noise_perlin[x][y] = perlin_noise_2d(x,y,6321,octaves,seed,0.5,size/4);
}
PerlinNoise::~PerlinNoise()
{
// TODO Auto-generated destructor stub
}