arbeit
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members

PNoise.cpp File Reference

#include "PNoise.h"
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <time.h>

Go to the source code of this file.

Defines

#define B   0x100
#define BM   0xff
#define N   0x1000
#define NP   12
#define NM   0xfff
#define s_curve(t)   ( t * t * (3. - 2. * t) )
#define lerp(t, a, b)   ( a + t * (b - a) )
#define setup(i, b0, b1, r0, r1)
#define at2(rx, ry)   ( rx * q[0] + ry * q[1] )
#define at3(rx, ry, rz)   ( rx * q[0] + ry * q[1] + rz * q[2] )
#define ABS(x)   ((x)<0 ? (-x) : (x))

Functions

void gen2DPerlinTexture (float *&data, unsigned int sx, unsigned int sy, unsigned int comp, int octaves, float frequencyScale, float amplitudeScale, bool absNoise)
 generate a texture with perlin noise allocates space for you, new range is always [0-1]

void gen3DPerlinTexture (float *&data, unsigned int sx, unsigned int sy, unsigned int sz, unsigned int comp, int octaves, float frequencyScale, float amplitudeScale, bool absNoise)
 absolute value noise


Define Documentation

#define ABS x   )     ((x)<0 ? (-x) : (x))
 

Definition at line 192 of file PNoise.cpp.

Referenced by PNoise::PerlinNoise3DABS().

#define at2 rx,
ry   )     ( rx * q[0] + ry * q[1] )
 

Definition at line 45 of file PNoise.cpp.

#define at3 rx,
ry,
rz   )     ( rx * q[0] + ry * q[1] + rz * q[2] )
 

Definition at line 46 of file PNoise.cpp.

#define B   0x100
 

Definition at line 31 of file PNoise.cpp.

Referenced by gutz::numOnesInWord(), PNoise::PNoise(), and PNoise::~PNoise().

#define BM   0xff
 

Definition at line 32 of file PNoise.cpp.

#define lerp t,
a,
 )     ( a + t * (b - a) )
 

Definition at line 38 of file PNoise.cpp.

#define N   0x1000
 

Definition at line 33 of file PNoise.cpp.

#define NM   0xfff
 

Definition at line 35 of file PNoise.cpp.

#define NP   12
 

Definition at line 34 of file PNoise.cpp.

#define s_curve t   )     ( t * t * (3. - 2. * t) )
 

Definition at line 37 of file PNoise.cpp.

#define setup i,
b0,
b1,
r0,
r1   ) 
 

Value:

t = vec[i] + N;\
   b0 = ((int)t) & BM;\
   b1 = (b0+1) & BM;\
   r0 = t - (int)t;\
   r1 = r0 - 1.;

Definition at line 39 of file PNoise.cpp.


Function Documentation

void gen2DPerlinTexture float *&  data,
unsigned int  sx,
unsigned int  sy,
unsigned int  components,
int  octaves = 4,
float  frequencyScale = 2,
float  amplitudeScale = 2,
bool  absNoise = false
 

generate a texture with perlin noise allocates space for you, new range is always [0-1]

Parameters:
octaves  greyscale, RGBA, how many??

Definition at line 439 of file PNoise.cpp.

References data, PNoise::seed(), PNoise::setParams(), x, and y.

void gen3DPerlinTexture float *&  data,
unsigned int  sx,
unsigned int  sy,
unsigned int  sz,
unsigned int  comp,
int  octaves,
float  frequencyScale,
float  amplitudeScale,
bool  absNoise
 

absolute value noise

Parameters:
octaves  greyscale, RGBA, how many??

Definition at line 477 of file PNoise.cpp.

References data, PNoise::seed(), PNoise::setParams(), x, y, and z.


Send questions, comments, and bug reports to:
jmk