Perlin Noise Generator class. More...
#include <perlin_noise.h>
Public Member Functions | |
PerlinNoise () | |
Constructor. More... | |
virtual | ~PerlinNoise () |
Destructor. More... | |
PixelBuffer | create_noise1d (float start_x, float end_x) |
Create the perlin noise. More... | |
PixelBuffer | create_noise2d (float start_x, float end_x, float start_y, float end_y) |
Create the perlin noise. More... | |
PixelBuffer | create_noise3d (float start_x, float end_x, float start_y, float end_y, float z_position) |
Create the perlin noise. More... | |
PixelBuffer | create_noise4d (float start_x, float end_x, float start_y, float end_y, float z_position, float w_position) |
Create the perlin noise. More... | |
float | get_amplitude () const |
Get the amplitude of the perlin noise. More... | |
TextureFormat | get_format () const |
Get the format of the output pixelbuffer. More... | |
int | get_octaves () const |
Get the number of octaves of the perlin noise. More... | |
Size | get_size () const |
Get the size of the output pixelbuffer. More... | |
void | set_amplitude (float amplitude=1.0f) |
Set the amplitude of the perlin noise. More... | |
void | set_format (TextureFormat texture_format=TextureFormat::rgb8) |
Set the format of the output pixelbuffer. More... | |
void | set_octaves (int octaves=1) |
Set the number of octaves of the perlin noise. More... | |
void | set_permutations (const unsigned char *table, unsigned int size=256) |
Set the permutation table. More... | |
void | set_size (int width=256, int height=256) |
Set the size of the output pixelbuffer. More... | |
void | set_size (const Size &size) |
Set the size of the output pixelbuffer. More... | |
Perlin Noise Generator class.
clan::PerlinNoise::PerlinNoise | ( | ) |
Constructor.
|
virtual |
Destructor.
PixelBuffer clan::PerlinNoise::create_noise1d | ( | float | start_x, |
float | end_x | ||
) |
Create the perlin noise.
Remember to call set_size() with the height set to 1.
The period of these parameters are from 0 to 255
start_x | = Start x position of the noise |
end_x | = End x position of the noise |
start_y | = Start y position of the noise |
end_y | = End y position of the noise |
PixelBuffer clan::PerlinNoise::create_noise2d | ( | float | start_x, |
float | end_x, | ||
float | start_y, | ||
float | end_y | ||
) |
Create the perlin noise.
The period of these parameters are from 0 to 255
start_x | = Start x position of the noise |
end_x | = End x position of the noise |
start_y | = Start y position of the noise |
end_y | = End y position of the noise |
PixelBuffer clan::PerlinNoise::create_noise3d | ( | float | start_x, |
float | end_x, | ||
float | start_y, | ||
float | end_y, | ||
float | z_position | ||
) |
Create the perlin noise.
The period of these parameters are from 0 to 255
start_x | = Start x position of the noise |
end_x | = End x position of the noise |
start_y | = Start y position of the noise |
end_y | = End y position of the noise |
z_position | = The z position of the noise |
PixelBuffer clan::PerlinNoise::create_noise4d | ( | float | start_x, |
float | end_x, | ||
float | start_y, | ||
float | end_y, | ||
float | z_position, | ||
float | w_position | ||
) |
Create the perlin noise.
The period of these parameters are from 0 to 255
start_x | = Start x position of the noise |
end_x | = End x position of the noise |
start_y | = Start y position of the noise |
end_y | = End y position of the noise |
z_position | = The z position of the noise |
w_position | = The w position of the noise |
float clan::PerlinNoise::get_amplitude | ( | ) | const |
Get the amplitude of the perlin noise.
TextureFormat clan::PerlinNoise::get_format | ( | ) | const |
Get the format of the output pixelbuffer.
int clan::PerlinNoise::get_octaves | ( | ) | const |
Get the number of octaves of the perlin noise.
Size clan::PerlinNoise::get_size | ( | ) | const |
Get the size of the output pixelbuffer.
void clan::PerlinNoise::set_amplitude | ( | float | amplitude = 1.0f | ) |
Set the amplitude of the perlin noise.
If this function is not used, the amplitude defaults to 1.0f
amplitude | = The amplitude to set |
void clan::PerlinNoise::set_format | ( | TextureFormat | texture_format = TextureFormat::rgb8 | ) |
Set the format of the output pixelbuffer.
If this function is not used, the format defaults to TextureFormat::rgb8
These following formats are supported:
TextureFormat::rgba8, TextureFormat::rgb8, TextureFormat::r8, tf_r32f
format | = The specified format |
void clan::PerlinNoise::set_octaves | ( | int | octaves = 1 | ) |
Set the number of octaves of the perlin noise.
If this function is not used, the octaves count defaults to 1
octaves | = The number of octaves to set |
void clan::PerlinNoise::set_permutations | ( | const unsigned char * | table, |
unsigned int | size = 256 |
||
) |
Set the permutation table.
If this function is not used, this class uses rand() to create a permutation table instead
table | = The permutation table |
size | = The permutation table size (2,4,8,16,32,64,128,256). Usually 256 (the maximum) unless a lower periodic table is required |
void clan::PerlinNoise::set_size | ( | int | width = 256 , |
int | height = 256 |
||
) |
Set the size of the output pixelbuffer.
If this function is not used, the size defaults to 256x256
width | = Output pixelbuffer width |
height | = Output pixelbuffer height |
void clan::PerlinNoise::set_size | ( | const Size & | size | ) |
Set the size of the output pixelbuffer.
If this function is not used, the size defaults to 256x256
width | = Output pixelbuffer width |
height | = Output pixelbuffer height |