ClanLib
2.3.7
|
Perlin Noise Generator class. More...
#include <perlin_noise.h>
Public Member Functions | |
Construction | |
CL_PerlinNoise () | |
Constructor. More... | |
virtual | ~CL_PerlinNoise () |
Destructor. More... | |
Attributes | |
CL_PixelBuffer | create_noise1d (float start_x, float end_x) |
Create the perlin noise. More... | |
CL_PixelBuffer | create_noise2d (float start_x, float end_x, float start_y, float end_y) |
Create the perlin noise. More... | |
CL_PixelBuffer | create_noise3d (float start_x, float end_x, float start_y, float end_y, float z_position) |
Create the perlin noise. More... | |
CL_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... | |
CL_Size | get_size () const |
Get the size of the output pixelbuffer. More... | |
CL_TextureFormat | get_format () const |
Get the format of the output pixelbuffer. More... | |
float | get_amplitude () const |
Get the amplitude of the perlin noise. More... | |
int | get_octaves () const |
Get the number of octaves of the perlin noise. More... | |
Operations | |
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 CL_Size &size) |
Set the size of the output pixelbuffer. More... | |
void | set_format (CL_TextureFormat sized_format=cl_rgb8) |
Set the format of the output pixelbuffer. More... | |
void | set_amplitude (float amplitude=1.0f) |
Set the amplitude of the perlin noise. More... | |
void | set_octaves (int octaves=1) |
Set the number of octaves of the perlin noise. More... | |
Perlin Noise Generator class.
CL_PerlinNoise::CL_PerlinNoise | ( | ) |
Constructor.
|
virtual |
Destructor.
CL_PixelBuffer CL_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 |
CL_PixelBuffer CL_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 |
CL_PixelBuffer CL_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 |
CL_PixelBuffer CL_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 CL_PerlinNoise::get_amplitude | ( | ) | const |
Get the amplitude of the perlin noise.
CL_TextureFormat CL_PerlinNoise::get_format | ( | ) | const |
Get the format of the output pixelbuffer.
int CL_PerlinNoise::get_octaves | ( | ) | const |
Get the number of octaves of the perlin noise.
CL_Size CL_PerlinNoise::get_size | ( | ) | const |
Get the size of the output pixelbuffer.
void CL_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 CL_PerlinNoise::set_format | ( | CL_TextureFormat | sized_format = cl_rgb8 ) |
Set the format of the output pixelbuffer.
If this function is not used, the format defaults to cl_rgb8
These following formats are supported:
cl_rgba8, cl_rgb8, cl_r8, cl_r32f
format | = The specified format |
void CL_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 CL_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 CL_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 CL_PerlinNoise::set_size | ( | const CL_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 |