ClanLib
2.3.7
Main Page
Modules
Namespaces
Classes
Files
File List
File Members
Sources
API
Display
Image
perlin_noise.h
Go to the documentation of this file.
1
/*
2
** ClanLib SDK
3
** Copyright (c) 1997-2011 The ClanLib Team
4
**
5
** This software is provided 'as-is', without any express or implied
6
** warranty. In no event will the authors be held liable for any damages
7
** arising from the use of this software.
8
**
9
** Permission is granted to anyone to use this software for any purpose,
10
** including commercial applications, and to alter it and redistribute it
11
** freely, subject to the following restrictions:
12
**
13
** 1. The origin of this software must not be misrepresented; you must not
14
** claim that you wrote the original software. If you use this software
15
** in a product, an acknowledgment in the product documentation would be
16
** appreciated but is not required.
17
** 2. Altered source versions must be plainly marked as such, and must not be
18
** misrepresented as being the original software.
19
** 3. This notice may not be removed or altered from any source distribution.
20
**
21
** Note: Some of the libraries ClanLib may link to may have additional
22
** requirements or restrictions.
23
**
24
** File Author(s):
25
**
26
** Mark Page
27
*/
28
31
32
#pragma once
33
34
#include "../api_display.h"
35
#include "../../Core/System/sharedptr.h"
36
#include "
pixel_buffer.h
"
37
38
class
CL_PerlinNoise_Impl;
39
43
class
CL_API_DISPLAY
CL_PerlinNoise
44
{
45
48
49
public
:
51
CL_PerlinNoise
();
52
54
virtual
~
CL_PerlinNoise
();
55
59
public
:
60
70
CL_PixelBuffer
create_noise1d(
float
start_x,
float
end_x);
71
80
CL_PixelBuffer
create_noise2d(
float
start_x,
float
end_x,
float
start_y,
float
end_y);
81
91
CL_PixelBuffer
create_noise3d(
float
start_x,
float
end_x,
float
start_y,
float
end_y,
float
z_position);
92
103
CL_PixelBuffer
create_noise4d(
float
start_x,
float
end_x,
float
start_y,
float
end_y,
float
z_position,
float
w_position);
104
106
CL_Size
get_size()
const
;
107
109
CL_TextureFormat
get_format()
const
;
110
112
float
get_amplitude()
const
;
113
115
int
get_octaves()
const
;
116
119
126
void
set_permutations(
const
unsigned
char
*table,
unsigned
int
size = 256);
127
134
void
set_size(
int
width = 256,
int
height = 256);
135
142
void
set_size(
const
CL_Size
&size);
143
151
void
set_format(
CL_TextureFormat
sized_format =
cl_rgb8
);
152
158
void
set_amplitude(
float
amplitude = 1.0f);
159
165
void
set_octaves(
int
octaves = 1);
166
170
171
private
:
172
CL_SharedPtr<CL_PerlinNoise_Impl> impl;
173
};
174
Generated on Fri Jun 14 2013 13:05:46 for ClanLib by
1.8.4