paysages : Small refactor.
git-svn-id: https://subversion.assembla.com/svn/thunderk/paysages@423 b1fd45b6-86a6-48da-8261-f70d1f35bdcc
This commit is contained in:
parent
b5ff5d60a6
commit
07077845b3
5 changed files with 29 additions and 27 deletions
2
TODO
2
TODO
|
@ -1,6 +1,8 @@
|
|||
Technology Preview 2 :
|
||||
- Fully move layer management from BaseForm to BaseFormLayer.
|
||||
- Replace math.h methods by optimized ones (fastfloor, fastsin...).
|
||||
- Reimplement perlin noise and custom noise.
|
||||
- Add ridged noise option (with configurable ridge offset and direction).
|
||||
- Replace terrain canvas editor by full sculpting editor.
|
||||
=> Add a generation dialog, with fixed resolution.
|
||||
=> Store local terrain modifications in fully dynamic canvas.
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
#include <string.h>
|
||||
|
||||
#include "tools.h"
|
||||
#include "simplexnoise.h"
|
||||
#include "noisesimplex.h"
|
||||
|
||||
#define MAX_LEVEL_COUNT 30
|
||||
|
||||
|
@ -22,7 +22,7 @@ struct NoiseGenerator
|
|||
|
||||
void noiseInit()
|
||||
{
|
||||
simplexNoiseInit();
|
||||
noiseSimplexInit();
|
||||
}
|
||||
|
||||
void noiseQuit()
|
||||
|
@ -274,7 +274,7 @@ void noiseNormalizeHeight(NoiseGenerator* generator, double min_height, double m
|
|||
|
||||
static inline double _get1DRawNoiseValue(NoiseGenerator* generator, double x)
|
||||
{
|
||||
return simplexNoiseGet2DValue(x, 0.0) * 0.5;
|
||||
return noiseSimplexGet2DValue(x, 0.0) * 0.5;
|
||||
}
|
||||
|
||||
static inline double _get1DLevelValue(NoiseGenerator* generator, NoiseLevel* level, double x)
|
||||
|
@ -336,7 +336,7 @@ double noiseGet1DDetail(NoiseGenerator* generator, double x, double detail)
|
|||
|
||||
static inline double _get2DRawNoiseValue(NoiseGenerator* generator, double x, double y)
|
||||
{
|
||||
return simplexNoiseGet2DValue(x, y) * 0.5;
|
||||
return noiseSimplexGet2DValue(x, y) * 0.5;
|
||||
}
|
||||
|
||||
static inline double _get2DLevelValue(NoiseGenerator* generator, NoiseLevel* level, double x, double y)
|
||||
|
@ -398,7 +398,7 @@ double noiseGet2DDetail(NoiseGenerator* generator, double x, double y, double de
|
|||
|
||||
static inline double _get3DRawNoiseValue(NoiseGenerator* generator, double x, double y, double z)
|
||||
{
|
||||
return simplexNoiseGet3DValue(x, y, z) * 0.5;
|
||||
return noiseSimplexGet3DValue(x, y, z) * 0.5;
|
||||
}
|
||||
|
||||
static inline double _get3DLevelValue(NoiseGenerator* generator, NoiseLevel* level, double x, double y, double z)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#include "simplexnoise.h"
|
||||
#include "noisesimplex.h"
|
||||
|
||||
/*
|
||||
* Simplex noise implementation.
|
||||
|
@ -119,7 +119,7 @@ static double _dot4(Grad4 g, double x, double y, double z, double w)
|
|||
return g.x * x + g.y * y + g.z * z + g.w * w;
|
||||
}
|
||||
|
||||
void simplexNoiseInit()
|
||||
void noiseSimplexInit()
|
||||
{
|
||||
int i;
|
||||
|
||||
|
@ -139,7 +139,7 @@ void simplexNoiseInit()
|
|||
_G4 = (5.0 - sqrt(5.0)) / 20.0;
|
||||
}
|
||||
|
||||
double simplexNoiseGet2DValue(double xin, double yin)
|
||||
double noiseSimplexGet2DValue(double xin, double yin)
|
||||
{
|
||||
double n0, n1, n2; /* Noise contributions from the three corners */
|
||||
/* Skew the input space to determine which simplex cell we're in */
|
||||
|
@ -204,7 +204,7 @@ double simplexNoiseGet2DValue(double xin, double yin)
|
|||
return 70.0 * (n0 + n1 + n2);
|
||||
}
|
||||
|
||||
double simplexNoiseGet3DValue(double xin, double yin, double zin)
|
||||
double noiseSimplexGet3DValue(double xin, double yin, double zin)
|
||||
{
|
||||
double n0, n1, n2, n3; /* Noise contributions from the four corners */
|
||||
/* Skew the input space to determine which simplex cell we're in */
|
||||
|
@ -338,7 +338,7 @@ double simplexNoiseGet3DValue(double xin, double yin, double zin)
|
|||
return 32.0 * (n0 + n1 + n2 + n3);
|
||||
}
|
||||
|
||||
double simplexNoiseGet4DValue(double x, double y, double z, double w)
|
||||
double noiseSimplexGet4DValue(double x, double y, double z, double w)
|
||||
{
|
||||
double n0, n1, n2, n3, n4; /* Noise contributions from the five corners */
|
||||
/* Skew the (x,y,z,w) space to determine which cell of 24 simplices we're in */
|
17
lib_paysages/noisesimplex.h
Normal file
17
lib_paysages/noisesimplex.h
Normal file
|
@ -0,0 +1,17 @@
|
|||
#ifndef _PAYSAGES_SIMPLEXNOISE_H_
|
||||
#define _PAYSAGES_SIMPLEXNOISE_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void noiseSimplexInit();
|
||||
double noiseSimplexGet2DValue(double xin, double yin);
|
||||
double noiseSimplexGet3DValue(double xin, double yin, double zin);
|
||||
double noiseSimplexGet4DValue(double x, double y, double z, double w);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
|
@ -1,17 +0,0 @@
|
|||
#ifndef _PAYSAGES_SIMPLEXNOISE_H_
|
||||
#define _PAYSAGES_SIMPLEXNOISE_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void simplexNoiseInit();
|
||||
double simplexNoiseGet2DValue(double xin, double yin);
|
||||
double simplexNoiseGet3DValue(double xin, double yin, double zin);
|
||||
double simplexNoiseGet4DValue(double x, double y, double z, double w);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
Loading…
Reference in a new issue