Minor fixes

*Seed is uint instead of int
*Permutation table is uint instead of int, could lead before to program
crash with negative seeds


Former-commit-id: 49ad04987a09a5f5b4bcab6ee3916db9818172b6
This commit is contained in:
Remi Beges
2012-12-01 10:07:41 +01:00
parent a0b7364eed
commit d0545eb760
30 changed files with 46 additions and 134 deletions

View File

@@ -21,11 +21,6 @@ NzComplexNoiseBase::NzComplexNoiseBase()
}
}
const std::array<float, 30>& NzComplexNoiseBase::GetExponentArray() const
{
return m_exponent_array;
}
float NzComplexNoiseBase::GetLacunarity() const
{
@@ -44,20 +39,16 @@ float NzComplexNoiseBase::GetOctaveNumber() const
void NzComplexNoiseBase::SetLacunarity(float lacunarity)
{
// if(lacunarity != m_lacunarity)
//{
m_lacunarity = lacunarity;
m_parametersModified = true;
//}
m_lacunarity = lacunarity;
m_parametersModified = true;
}
void NzComplexNoiseBase::SetHurstParameter(float h)
{
//if(h != m_hurst)
//{
m_hurst = h;
m_parametersModified = true;
//}
m_hurst = h;
m_parametersModified = true;
}
void NzComplexNoiseBase::SetOctavesNumber(float octaves)

View File

@@ -9,7 +9,7 @@
#include <Nazara/Noise/Simplex2D.hpp>
#include <Nazara/Noise/Debug.hpp>
NzFBM2D::NzFBM2D(nzNoises source, int seed)
NzFBM2D::NzFBM2D(nzNoises source, unsigned int seed)
{
switch(source)
{

View File

@@ -9,7 +9,7 @@
#include <Nazara/Noise/Simplex3D.hpp>
#include <Nazara/Noise/Debug.hpp>
NzFBM3D::NzFBM3D(nzNoises source, int seed)
NzFBM3D::NzFBM3D(nzNoises source, unsigned int seed)
{
switch(source)
{

View File

@@ -9,7 +9,7 @@
#include <Nazara/Noise/Simplex4D.hpp>
#include <Nazara/Noise/Debug.hpp>
NzFBM4D::NzFBM4D(nzNoises source, int seed)
NzFBM4D::NzFBM4D(nzNoises source, unsigned int seed)
{
switch(source)
{

View File

@@ -9,7 +9,7 @@
#include <Nazara/Noise/Simplex3D.hpp>
#include <Nazara/Noise/Debug.hpp>
NzHybridMultiFractal3D::NzHybridMultiFractal3D(nzNoises source, int seed)
NzHybridMultiFractal3D::NzHybridMultiFractal3D(nzNoises source, unsigned int seed)
{
switch(source)
{

View File

@@ -9,7 +9,7 @@
#include <Nazara/Noise/Simplex4D.hpp>
#include <Nazara/Noise/Debug.hpp>
NzHybridMultiFractal4D::NzHybridMultiFractal4D(nzNoises source, int seed)
NzHybridMultiFractal4D::NzHybridMultiFractal4D(nzNoises source, unsigned int seed)
{
switch(source)
{

View File

@@ -9,7 +9,7 @@
#include <Nazara/Noise/Simplex2D.hpp>
#include <Nazara/Noise/Debug.hpp>
NzHybridMultiFractal2D::NzHybridMultiFractal2D(nzNoises source, int seed)
NzHybridMultiFractal2D::NzHybridMultiFractal2D(nzNoises source, unsigned int seed)
{
switch(source)
{

View File

@@ -1,49 +0,0 @@
// Copyright (C) 2012 Rémi Bèges
// This file is part of the "Nazara Engine - Noise module"
// For conditions of distribution and use, see copyright notice in Config.hpp
#include <Nazara/Noise/Noise.hpp>
#include <Nazara/Core/Core.hpp>
#include <Nazara/Core/Error.hpp>
#include <Nazara/Core/Log.hpp>
#include <Nazara/Noise/Config.hpp>
#include <Nazara/Noise/Debug.hpp>
bool NzNoise::Initialize()
{
if (s_moduleReferenceCouter++ != 0)
return true; // Déjà initialisé
// Initialisation des dépendances
if (!NzCore::Initialize())
{
NazaraError("Failed to initialize core module");
return false;
}
// Initialisation du module
NazaraNotice("Initialized: Noise module");
return true;
}
bool NzNoise::IsInitialized()
{
return s_moduleReferenceCouter != 0;
}
void NzNoise::Uninitialize()
{
if (--s_moduleReferenceCouter != 0)
return; // Encore utilisé
// Libération du module
// Libération des dépendances
NzCore::Uninitialize();
NazaraNotice("Uninitialized: Noise module");
}
unsigned int NzNoise::s_moduleReferenceCouter = 0;

View File

@@ -7,7 +7,7 @@
#include <Nazara/Noise/Config.hpp>
#include <Nazara/Noise/Debug.hpp>
NzNoiseBase::NzNoiseBase(int seed)
NzNoiseBase::NzNoiseBase(unsigned int seed)
{
Ua = 16807;
Uc = 0;
@@ -22,13 +22,13 @@ NzNoiseBase::NzNoiseBase(int seed)
}
void NzNoiseBase::SetNewSeed(int seed)
void NzNoiseBase::SetNewSeed(unsigned int seed)
{
Uprevious = seed;
UcurrentSeed = seed;
}
int NzNoiseBase::GetUniformRandomValue()
unsigned int NzNoiseBase::GetUniformRandomValue()
{
Ulast = Ua*Uprevious + Uc%Um;
Uprevious = Ulast;
@@ -40,11 +40,11 @@ void NzNoiseBase::ShufflePermutationTable()
int xchanger;
unsigned int ncase;
for(int i(0) ; i < 256 ; i++)
for(unsigned int i(0) ; i < 256 ; i++)
perm[i] = i;
for(int j(0) ; j < 20 ; ++j)
for (int i(0); i < 256 ; ++i)
for(unsigned int j(0) ; j < 20 ; ++j)
for (unsigned int i(0); i < 256 ; ++i)
{
ncase = this->GetUniformRandomValue() & 255;
xchanger = perm[i];
@@ -52,7 +52,7 @@ void NzNoiseBase::ShufflePermutationTable()
perm[ncase] = xchanger;
}
for(int i(256) ; i < 512; ++i)
for(unsigned int i(256) ; i < 512; ++i)
perm[i] = perm[i & 255];
}
@@ -74,5 +74,3 @@ int NzNoiseBase::JenkinsHash(int a, int b, int c)
c = c-a; c = c - b; c = c^(static_cast<unsigned int>(b) >> 15);
return c;
}
#include <Nazara/Core/DebugOff.hpp>

View File

@@ -17,7 +17,7 @@ NzPerlin2D::NzPerlin2D()
gradient2[i][j] = grad2Temp[i][j];
}
NzPerlin2D::NzPerlin2D(int seed) : NzPerlin2D()
NzPerlin2D::NzPerlin2D(unsigned int seed) : NzPerlin2D()
{
this->SetNewSeed(seed);
this->ShufflePermutationTable();

View File

@@ -21,7 +21,7 @@ NzPerlin3D::NzPerlin3D()
gradient3[i][j] = grad3Temp[i][j];
}
NzPerlin3D::NzPerlin3D(int seed) : NzPerlin3D()
NzPerlin3D::NzPerlin3D(unsigned int seed) : NzPerlin3D()
{
this->SetNewSeed(seed);
this->ShufflePermutationTable();

View File

@@ -26,7 +26,7 @@ NzPerlin4D::NzPerlin4D()
gradient4[i][j] = grad4Temp[i][j];
}
NzPerlin4D::NzPerlin4D(int seed) : NzPerlin4D()
NzPerlin4D::NzPerlin4D(unsigned int seed) : NzPerlin4D()
{
this->SetNewSeed(seed);
this->ShufflePermutationTable();

View File

@@ -20,7 +20,7 @@ NzSimplex2D::NzSimplex2D()
UnskewCoeff2D = (3.0-sqrt(3.0))/6.;
}
NzSimplex2D::NzSimplex2D(int seed) : NzSimplex2D()
NzSimplex2D::NzSimplex2D(unsigned int seed) : NzSimplex2D()
{
this->SetNewSeed(seed);
this->ShufflePermutationTable();

View File

@@ -21,7 +21,7 @@ NzSimplex3D::NzSimplex3D()
gradient3[i][j] = grad3Temp[i][j];
}
NzSimplex3D::NzSimplex3D(int seed) : NzSimplex3D()
NzSimplex3D::NzSimplex3D(unsigned int seed) : NzSimplex3D()
{
this->SetNewSeed(seed);
this->ShufflePermutationTable();

View File

@@ -45,7 +45,7 @@ NzSimplex4D::NzSimplex4D()
gradient4[i][j] = grad4Temp[i][j];
}
NzSimplex4D::NzSimplex4D(int seed) : NzSimplex4D()
NzSimplex4D::NzSimplex4D(unsigned int seed) : NzSimplex4D()
{
this->SetNewSeed(seed);
this->ShufflePermutationTable();