diff --git a/include/Nazara/Noise/ComplexNoiseBase.hpp b/include/Nazara/Noise/ComplexNoiseBase.hpp index edd2b4f09..0800c5e3f 100644 --- a/include/Nazara/Noise/ComplexNoiseBase.hpp +++ b/include/Nazara/Noise/ComplexNoiseBase.hpp @@ -16,7 +16,6 @@ class NAZARA_API NzComplexNoiseBase NzComplexNoiseBase(); ~NzComplexNoiseBase() = default; - const std::array& GetExponentArray() const; //For debug purpose float GetHurstParameter() const; float GetLacunarity() const; float GetOctaveNumber() const; diff --git a/include/Nazara/Noise/FBM2D.hpp b/include/Nazara/Noise/FBM2D.hpp index a1f8162b4..01c89efd4 100644 --- a/include/Nazara/Noise/FBM2D.hpp +++ b/include/Nazara/Noise/FBM2D.hpp @@ -14,7 +14,7 @@ class NAZARA_API NzFBM2D : public NzAbstract2DNoise, public NzComplexNoiseBase { public: - NzFBM2D(nzNoises source, int seed); + NzFBM2D(nzNoises source, unsigned int seed); float GetValue(float x, float y, float resolution); ~NzFBM2D(); protected: diff --git a/include/Nazara/Noise/FBM3D.hpp b/include/Nazara/Noise/FBM3D.hpp index 18d819209..672108278 100644 --- a/include/Nazara/Noise/FBM3D.hpp +++ b/include/Nazara/Noise/FBM3D.hpp @@ -14,7 +14,7 @@ class NAZARA_API NzFBM3D : public NzAbstract3DNoise, public NzComplexNoiseBase { public: - NzFBM3D(nzNoises source, int seed); + NzFBM3D(nzNoises source, unsigned int seed); float GetValue(float x, float y, float z, float resolution); ~NzFBM3D(); protected: diff --git a/include/Nazara/Noise/FBM4D.hpp b/include/Nazara/Noise/FBM4D.hpp index 100bd79ed..98f75c642 100644 --- a/include/Nazara/Noise/FBM4D.hpp +++ b/include/Nazara/Noise/FBM4D.hpp @@ -14,7 +14,7 @@ class NAZARA_API NzFBM4D : public NzAbstract4DNoise, public NzComplexNoiseBase { public: - NzFBM4D(nzNoises source, int seed); + NzFBM4D(nzNoises source, unsigned int seed); float GetValue(float x, float y, float z, float w, float resolution); ~NzFBM4D(); protected: diff --git a/include/Nazara/Noise/HybridMultiFractal3D.hpp b/include/Nazara/Noise/HybridMultiFractal3D.hpp index d02d171dc..ff9f67787 100644 --- a/include/Nazara/Noise/HybridMultiFractal3D.hpp +++ b/include/Nazara/Noise/HybridMultiFractal3D.hpp @@ -14,7 +14,7 @@ class NAZARA_API NzHybridMultiFractal3D : public NzAbstract3DNoise, public NzComplexNoiseBase { public: - NzHybridMultiFractal3D(nzNoises source, int seed); + NzHybridMultiFractal3D(nzNoises source, unsigned int seed); float GetValue(float x, float y, float z, float resolution); ~NzHybridMultiFractal3D(); protected: diff --git a/include/Nazara/Noise/HybridMultiFractal4D.hpp b/include/Nazara/Noise/HybridMultiFractal4D.hpp index 7b49d45d6..da07e78ef 100644 --- a/include/Nazara/Noise/HybridMultiFractal4D.hpp +++ b/include/Nazara/Noise/HybridMultiFractal4D.hpp @@ -14,7 +14,7 @@ class NAZARA_API NzHybridMultiFractal4D : public NzAbstract4DNoise, public NzComplexNoiseBase { public: - NzHybridMultiFractal4D(nzNoises source, int seed); + NzHybridMultiFractal4D(nzNoises source, unsigned int seed); float GetValue(float x, float y, float z, float w, float resolution); ~NzHybridMultiFractal4D(); protected: diff --git a/include/Nazara/Noise/HybridMultifractal2D.hpp b/include/Nazara/Noise/HybridMultifractal2D.hpp index 2f13e28e5..4a843adf2 100644 --- a/include/Nazara/Noise/HybridMultifractal2D.hpp +++ b/include/Nazara/Noise/HybridMultifractal2D.hpp @@ -14,7 +14,7 @@ class NAZARA_API NzHybridMultiFractal2D : public NzAbstract2DNoise, public NzComplexNoiseBase { public: - NzHybridMultiFractal2D(nzNoises source, int seed); + NzHybridMultiFractal2D(nzNoises source, unsigned int seed); float GetValue(float x, float y, float resolution); ~NzHybridMultiFractal2D(); protected: diff --git a/include/Nazara/Noise/Noise.hpp b/include/Nazara/Noise/Noise.hpp deleted file mode 100644 index 464117ecc..000000000 --- a/include/Nazara/Noise/Noise.hpp +++ /dev/null @@ -1,29 +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 - -#pragma once - -#ifndef NAZARA_NOISE_HPP -#define NAZARA_NOISE_HPP - -#include -#include - -class NAZARA_API NzNoise -{ - public: - NzNoise() = delete; - ~NzNoise() = delete; - - static bool Initialize(); - - static bool IsInitialized(); - - static void Uninitialize(); - - private: - static unsigned int s_moduleReferenceCouter; -}; - -#endif // NAZARA_NOISE_HPP diff --git a/include/Nazara/Noise/NoiseBase.hpp b/include/Nazara/Noise/NoiseBase.hpp index 13b480093..694b4b597 100644 --- a/include/Nazara/Noise/NoiseBase.hpp +++ b/include/Nazara/Noise/NoiseBase.hpp @@ -19,21 +19,23 @@ enum nzNoises class NAZARA_API NzNoiseBase { public: - NzNoiseBase(int seed = 0); + NzNoiseBase(unsigned int seed = 0); ~NzNoiseBase() = default; - void SetNewSeed(int seed); - int GetUniformRandomValue(); + void SetNewSeed(unsigned int seed); + void ShufflePermutationTable(); + unsigned int GetUniformRandomValue(); + int fastfloor(float n); int JenkinsHash(int a, int b, int c); protected: - int perm[512]; + unsigned int perm[512]; private: - int Ua, Uc, Um; - int UcurrentSeed; - int Uprevious, Ulast; + unsigned int Ua, Uc, Um; + unsigned int UcurrentSeed; + unsigned int Uprevious, Ulast; }; diff --git a/include/Nazara/Noise/Perlin2D.hpp b/include/Nazara/Noise/Perlin2D.hpp index 1311801b9..dca50ebdd 100644 --- a/include/Nazara/Noise/Perlin2D.hpp +++ b/include/Nazara/Noise/Perlin2D.hpp @@ -16,7 +16,7 @@ class NAZARA_API NzPerlin2D : public NzAbstract2DNoise { public: NzPerlin2D(); - NzPerlin2D(int seed); + NzPerlin2D(unsigned int seed); float GetValue(float x, float y, float resolution); ~NzPerlin2D() = default; protected: diff --git a/include/Nazara/Noise/Perlin3D.hpp b/include/Nazara/Noise/Perlin3D.hpp index 613cb8ef1..97c6b0ec3 100644 --- a/include/Nazara/Noise/Perlin3D.hpp +++ b/include/Nazara/Noise/Perlin3D.hpp @@ -16,7 +16,7 @@ class NAZARA_API NzPerlin3D : public NzAbstract3DNoise { public: NzPerlin3D(); - NzPerlin3D(int seed); + NzPerlin3D(unsigned int seed); float GetValue(float x, float y, float z, float resolution); ~NzPerlin3D() = default; protected: diff --git a/include/Nazara/Noise/Perlin4D.hpp b/include/Nazara/Noise/Perlin4D.hpp index 196968bc2..ade11217e 100644 --- a/include/Nazara/Noise/Perlin4D.hpp +++ b/include/Nazara/Noise/Perlin4D.hpp @@ -16,7 +16,7 @@ class NAZARA_API NzPerlin4D : public NzAbstract4DNoise { public: NzPerlin4D(); - NzPerlin4D(int seed); + NzPerlin4D(unsigned int seed); float GetValue(float x, float y, float z, float w, float resolution); ~NzPerlin4D() = default; protected: diff --git a/include/Nazara/Noise/Simplex2D.hpp b/include/Nazara/Noise/Simplex2D.hpp index 2da63dd65..f47962046 100644 --- a/include/Nazara/Noise/Simplex2D.hpp +++ b/include/Nazara/Noise/Simplex2D.hpp @@ -16,7 +16,7 @@ class NAZARA_API NzSimplex2D : public NzAbstract2DNoise { public: NzSimplex2D(); - NzSimplex2D(int seed); + NzSimplex2D(unsigned int seed); float GetValue(float x, float y, float resolution); virtual ~NzSimplex2D() = default; protected: diff --git a/include/Nazara/Noise/Simplex3D.hpp b/include/Nazara/Noise/Simplex3D.hpp index 84e1d3982..14d118225 100644 --- a/include/Nazara/Noise/Simplex3D.hpp +++ b/include/Nazara/Noise/Simplex3D.hpp @@ -16,7 +16,7 @@ class NAZARA_API NzSimplex3D : public NzAbstract3DNoise { public: NzSimplex3D(); - NzSimplex3D(int seed); + NzSimplex3D(unsigned int seed); float GetValue(float x, float y, float z, float resolution); ~NzSimplex3D() = default; protected: diff --git a/include/Nazara/Noise/Simplex4D.hpp b/include/Nazara/Noise/Simplex4D.hpp index 662e4f258..e1e7a1889 100644 --- a/include/Nazara/Noise/Simplex4D.hpp +++ b/include/Nazara/Noise/Simplex4D.hpp @@ -16,7 +16,7 @@ class NAZARA_API NzSimplex4D : public NzAbstract4DNoise { public: NzSimplex4D(); - NzSimplex4D(int seed); + NzSimplex4D(unsigned int seed); float GetValue(float x, float y, float z, float w, float resolution); ~NzSimplex4D() = default; protected: diff --git a/src/Nazara/Noise/ComplexNoiseBase.cpp b/src/Nazara/Noise/ComplexNoiseBase.cpp index 946b4f5d0..14d00ea37 100644 --- a/src/Nazara/Noise/ComplexNoiseBase.cpp +++ b/src/Nazara/Noise/ComplexNoiseBase.cpp @@ -21,11 +21,6 @@ NzComplexNoiseBase::NzComplexNoiseBase() } } -const std::array& 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) diff --git a/src/Nazara/Noise/FBM2D.cpp b/src/Nazara/Noise/FBM2D.cpp index 6d86127ee..0e9e89dc9 100644 --- a/src/Nazara/Noise/FBM2D.cpp +++ b/src/Nazara/Noise/FBM2D.cpp @@ -9,7 +9,7 @@ #include #include -NzFBM2D::NzFBM2D(nzNoises source, int seed) +NzFBM2D::NzFBM2D(nzNoises source, unsigned int seed) { switch(source) { diff --git a/src/Nazara/Noise/FBM3D.cpp b/src/Nazara/Noise/FBM3D.cpp index 76e90617f..3423c25b5 100644 --- a/src/Nazara/Noise/FBM3D.cpp +++ b/src/Nazara/Noise/FBM3D.cpp @@ -9,7 +9,7 @@ #include #include -NzFBM3D::NzFBM3D(nzNoises source, int seed) +NzFBM3D::NzFBM3D(nzNoises source, unsigned int seed) { switch(source) { diff --git a/src/Nazara/Noise/FBM4D.cpp b/src/Nazara/Noise/FBM4D.cpp index 086341474..d63cbbf13 100644 --- a/src/Nazara/Noise/FBM4D.cpp +++ b/src/Nazara/Noise/FBM4D.cpp @@ -9,7 +9,7 @@ #include #include -NzFBM4D::NzFBM4D(nzNoises source, int seed) +NzFBM4D::NzFBM4D(nzNoises source, unsigned int seed) { switch(source) { diff --git a/src/Nazara/Noise/HybridMultiFractal3D.cpp b/src/Nazara/Noise/HybridMultiFractal3D.cpp index a6054b1eb..ccb85ee8e 100644 --- a/src/Nazara/Noise/HybridMultiFractal3D.cpp +++ b/src/Nazara/Noise/HybridMultiFractal3D.cpp @@ -9,7 +9,7 @@ #include #include -NzHybridMultiFractal3D::NzHybridMultiFractal3D(nzNoises source, int seed) +NzHybridMultiFractal3D::NzHybridMultiFractal3D(nzNoises source, unsigned int seed) { switch(source) { diff --git a/src/Nazara/Noise/HybridMultiFractal4D.cpp b/src/Nazara/Noise/HybridMultiFractal4D.cpp index b23ad0ba0..2132ac520 100644 --- a/src/Nazara/Noise/HybridMultiFractal4D.cpp +++ b/src/Nazara/Noise/HybridMultiFractal4D.cpp @@ -9,7 +9,7 @@ #include #include -NzHybridMultiFractal4D::NzHybridMultiFractal4D(nzNoises source, int seed) +NzHybridMultiFractal4D::NzHybridMultiFractal4D(nzNoises source, unsigned int seed) { switch(source) { diff --git a/src/Nazara/Noise/HybridMultifractal2D.cpp b/src/Nazara/Noise/HybridMultifractal2D.cpp index 012ae3f0f..a789e57e1 100644 --- a/src/Nazara/Noise/HybridMultifractal2D.cpp +++ b/src/Nazara/Noise/HybridMultifractal2D.cpp @@ -9,7 +9,7 @@ #include #include -NzHybridMultiFractal2D::NzHybridMultiFractal2D(nzNoises source, int seed) +NzHybridMultiFractal2D::NzHybridMultiFractal2D(nzNoises source, unsigned int seed) { switch(source) { diff --git a/src/Nazara/Noise/Noise.cpp b/src/Nazara/Noise/Noise.cpp deleted file mode 100644 index a38a8346d..000000000 --- a/src/Nazara/Noise/Noise.cpp +++ /dev/null @@ -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 -#include -#include -#include -#include -#include - -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; diff --git a/src/Nazara/Noise/NoiseBase.cpp b/src/Nazara/Noise/NoiseBase.cpp index 03391cfa0..bd8564625 100644 --- a/src/Nazara/Noise/NoiseBase.cpp +++ b/src/Nazara/Noise/NoiseBase.cpp @@ -7,7 +7,7 @@ #include #include -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(b) >> 15); return c; } - -#include diff --git a/src/Nazara/Noise/Perlin2D.cpp b/src/Nazara/Noise/Perlin2D.cpp index 9ec67fbc7..bc68f4331 100644 --- a/src/Nazara/Noise/Perlin2D.cpp +++ b/src/Nazara/Noise/Perlin2D.cpp @@ -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(); diff --git a/src/Nazara/Noise/Perlin3D.cpp b/src/Nazara/Noise/Perlin3D.cpp index aa79e6d1d..49619a91a 100644 --- a/src/Nazara/Noise/Perlin3D.cpp +++ b/src/Nazara/Noise/Perlin3D.cpp @@ -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(); diff --git a/src/Nazara/Noise/Perlin4D.cpp b/src/Nazara/Noise/Perlin4D.cpp index 69bf03f5b..ef075691c 100644 --- a/src/Nazara/Noise/Perlin4D.cpp +++ b/src/Nazara/Noise/Perlin4D.cpp @@ -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(); diff --git a/src/Nazara/Noise/Simplex2D.cpp b/src/Nazara/Noise/Simplex2D.cpp index 392f44986..9cc577d0d 100644 --- a/src/Nazara/Noise/Simplex2D.cpp +++ b/src/Nazara/Noise/Simplex2D.cpp @@ -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(); diff --git a/src/Nazara/Noise/Simplex3D.cpp b/src/Nazara/Noise/Simplex3D.cpp index 7436add6d..4669f9ca8 100644 --- a/src/Nazara/Noise/Simplex3D.cpp +++ b/src/Nazara/Noise/Simplex3D.cpp @@ -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(); diff --git a/src/Nazara/Noise/Simplex4D.cpp b/src/Nazara/Noise/Simplex4D.cpp index 99d7dd1ed..10940036f 100644 --- a/src/Nazara/Noise/Simplex4D.cpp +++ b/src/Nazara/Noise/Simplex4D.cpp @@ -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();