1 // noise.h
2 //
3 // Copyright (C) 2003, 2004 Jason Bevins
4 //
5 // This library is free software; you can redistribute it and/or modify it
6 // under the terms of the GNU Lesser General Public License as published by
7 // the Free Software Foundation; either version 2.1 of the License, or (at
8 // your option) any later version.
9 //
10 // This library is distributed in the hope that it will be useful, but WITHOUT
11 // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 // FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
13 // License (COPYING.txt) for more details.
14 //
15 // You should have received a copy of the GNU Lesser General Public License
16 // along with this library; if not, write to the Free Software Foundation,
17 // Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18 //
19 // The developer's email is jlbezigvins@gmzigail.com (for great email, take
20 // off every 'zig'.)
21 //
22 module noise.noise;
23 
24 /// @mainpage libnoise
25 ///
26 /// @section intro Introduction
27 ///
28 /// libnoise is a portable C++ library that is used to generate <i>coherent
29 /// noise</i>, a type of smoothly-changing noise. libnoise can generate Perlin
30 /// noise, ridged multifractal noise, and other types of coherent noise.
31 ///
32 /// Coherent noise is often used by graphics programmers to generate
33 /// natural-looking textures, planetary terrain, and other things. It can
34 /// also be used to move critters in a realistic way.
35 ///
36 /// libnoise is known to compile using the following compilers on the
37 /// following platforms:
38 /// - Microsoft Visual C++ 5.0 under Microsoft Windows 2000 Service Pack 4
39 /// - gcc 3.3.4 under Gentoo Linux 10.0 (x86)
40 ///
41 /// It is not known if libnoise will compile on 64-bit platforms, although
42 /// there is a good change that it will.
43 ///
44 /// @section noise Noise Mods
45 ///
46 /// In libnoise, coherent-noise generators are encapsulated in classes called
47 /// <i>noise modules</i>. There are many different types of noise modules.
48 /// Some noise modules can combine or modify the outputs of other noise
49 /// modules in various ways; you can join these modules together to generate
50 /// very complex coherent noise.
51 ///
52 /// A noise module receives a 3-dimensional input value from the application,
53 /// computes the noise value given that input value, and returns the resulting
54 /// value back to the application.
55 ///
56 /// If the application passes the same input value to a noise module, the
57 /// noise module returns the same output value.
58 ///
59 /// All noise modules are derived from the noise::module::Mod abstract
60 /// base class.
61 ///
62 /// @section contact Contact
63 ///
64 /// Contact jas for questions about libnoise.  The spam-resistant email
65 /// address is jlbezigvins@gmzigail.com (For great email, take off every
66 /// <a href=http://www.planettribes.com/allyourbase/story.shtml>zig</a>.)
67 public {
68 	import noise.mod.mod;
69 	import noise.model.model;
70 	import noise.misc;
71 }