From 783e609c8eb58a03b9bc9c91781248540addfb36 Mon Sep 17 00:00:00 2001 From: Lynix Date: Mon, 17 Jun 2013 23:58:06 +0200 Subject: [PATCH] Fixed warnings and optimized noise module Former-commit-id: 62840540e2938d08436a22d4e19d801466f1d6ba --- build/scripts/common.lua | 4 +-- src/Nazara/Graphics/SkyboxBackground.cpp | 4 ++- src/Nazara/Noise/Simplex2D.cpp | 16 +++++----- src/Nazara/Noise/Simplex3D.cpp | 24 +++++++------- src/Nazara/Noise/Simplex4D.cpp | 40 ++++++++++++------------ 5 files changed, 45 insertions(+), 43 deletions(-) diff --git a/build/scripts/common.lua b/build/scripts/common.lua index ab8f36140..28873ded0 100644 --- a/build/scripts/common.lua +++ b/build/scripts/common.lua @@ -37,6 +37,7 @@ configuration "Release*" flags { "EnableSSE", "EnableSSE2", "Optimize", "OptimizeSpeed", "NoFramePointer", "NoRTTI" } configuration { "Release*", "codeblocks or codelite or gmake or xcode3*" } + buildoptions "-mfpmath=sse" -- Activation de la vectorisation du code configuration "*Static" defines "NAZARA_STATIC" @@ -55,12 +56,11 @@ configuration "DebugDLL" targetsuffix "-d" configuration "codeblocks or codelite or gmake or xcode3*" - buildoptions "-mfpmath=sse" -- Activation de la vectorisation du code buildoptions "-std=c++11" -- On compile en C++11 if (_OPTIONS["x64"]) then buildoptions "-m64" end - + configuration { "linux or bsd or macosx", "gmake" } buildoptions "-fvisibility=hidden" diff --git a/src/Nazara/Graphics/SkyboxBackground.cpp b/src/Nazara/Graphics/SkyboxBackground.cpp index acea4eef9..df8e1db9f 100644 --- a/src/Nazara/Graphics/SkyboxBackground.cpp +++ b/src/Nazara/Graphics/SkyboxBackground.cpp @@ -2,7 +2,9 @@ // This file is part of the "Nazara Engine - Graphics module" // For conditions of distribution and use, see copyright notice in Config.hpp -#define NAZARA_RENDERER_OPENGL // Nécessaire pour accéder à OpenGL +#ifndef NAZARA_RENDERER_OPENGL +#define NAZARA_RENDERER_OPENGL // Nécessaire pour inclure les headers OpenGL +#endif #include #include diff --git a/src/Nazara/Noise/Simplex2D.cpp b/src/Nazara/Noise/Simplex2D.cpp index 926712fe7..c18403196 100644 --- a/src/Nazara/Noise/Simplex2D.cpp +++ b/src/Nazara/Noise/Simplex2D.cpp @@ -16,8 +16,8 @@ NzSimplex2D::NzSimplex2D() for(int j(0) ; j < 2 ; ++j) gradient2[i][j] = grad2Temp[i][j]; - SkewCoeff2D = 0.5*(sqrt(3.0) - 1.0); - UnskewCoeff2D = (3.0-sqrt(3.0))/6.; + SkewCoeff2D = 0.5f*(std::sqrt(3.f) - 1.f); + UnskewCoeff2D = (3.f-std::sqrt(3.f))/6.f; } NzSimplex2D::NzSimplex2D(unsigned int seed) : NzSimplex2D() @@ -58,8 +58,8 @@ float NzSimplex2D::GetValue(float x, float y, float resolution) d2.x = d1.x + off1.x - UnskewCoeff2D; d2.y = d1.y + off1.y - UnskewCoeff2D; - d3.x = d1.x + 1.0 - 2 * UnskewCoeff2D; - d3.y = d1.y + 1.0 - 2 * UnskewCoeff2D; + d3.x = d1.x + 1.f - 2.f * UnskewCoeff2D; + d3.y = d1.y + 1.f - 2.f * UnskewCoeff2D; ii = skewedCubeOrigin.x & 255; jj = skewedCubeOrigin.y & 255; @@ -68,9 +68,9 @@ float NzSimplex2D::GetValue(float x, float y, float resolution) gi1 = perm[ii + off1.x + perm[jj + off1.y]] & 7; gi2 = perm[ii + 1 + perm[jj + 1 ]] & 7; - c1 = 0.5 - d1.x * d1.x - d1.y * d1.y; - c2 = 0.5 - d2.x * d2.x - d2.y * d2.y; - c3 = 0.5 - d3.x * d3.x - d3.y * d3.y; + c1 = 0.5f - d1.x * d1.x - d1.y * d1.y; + c2 = 0.5f - d2.x * d2.x - d2.y * d2.y; + c3 = 0.5f - d3.x * d3.x - d3.y * d3.y; if(c1 < 0) n1 = 0; @@ -87,5 +87,5 @@ float NzSimplex2D::GetValue(float x, float y, float resolution) else n3 = c3*c3*c3*c3*(gradient2[gi2][0] * d3.x + gradient2[gi2][1] * d3.y); - return (n1+n2+n3)*70; + return (n1+n2+n3)*70.f; } diff --git a/src/Nazara/Noise/Simplex3D.cpp b/src/Nazara/Noise/Simplex3D.cpp index 9315c1cc8..cf8d45fa0 100644 --- a/src/Nazara/Noise/Simplex3D.cpp +++ b/src/Nazara/Noise/Simplex3D.cpp @@ -9,8 +9,8 @@ NzSimplex3D::NzSimplex3D() { - SkewCoeff3D = 1/3.; - UnskewCoeff3D = 1/6.; + SkewCoeff3D = 1/3.f; + UnskewCoeff3D = 1/6.f; int grad3Temp[][3] = {{1,1,0},{-1,1,0},{1,-1,0},{-1,-1,0}, {1,0,1},{-1,0,1},{1,0,-1},{-1,0,-1}, @@ -114,13 +114,13 @@ float NzSimplex3D::GetValue(float x, float y, float z, float resolution) d2.y = d1.y - off1.y + UnskewCoeff3D; d2.z = d1.z - off1.z + UnskewCoeff3D; - d3.x = d1.x - off2.x + 2*UnskewCoeff3D; - d3.y = d1.y - off2.y + 2*UnskewCoeff3D; - d3.z = d1.z - off2.z + 2*UnskewCoeff3D; + d3.x = d1.x - off2.x + 2.f*UnskewCoeff3D; + d3.y = d1.y - off2.y + 2.f*UnskewCoeff3D; + d3.z = d1.z - off2.z + 2.f*UnskewCoeff3D; - d4.x = d1.x - 1.0 + 3*UnskewCoeff3D; - d4.y = d1.y - 1.0 + 3*UnskewCoeff3D; - d4.z = d1.z - 1.0 + 3*UnskewCoeff3D; + d4.x = d1.x - 1.f + 3.f*UnskewCoeff3D; + d4.y = d1.y - 1.f + 3.f*UnskewCoeff3D; + d4.z = d1.z - 1.f + 3.f*UnskewCoeff3D; ii = skewedCubeOrigin.x & 255; jj = skewedCubeOrigin.y & 255; @@ -131,10 +131,10 @@ float NzSimplex3D::GetValue(float x, float y, float z, float resolution) gi2 = perm[ii + off2.x + perm[jj + off2.y + perm[kk + off2.z]]] % 12; gi3 = perm[ii + 1 + perm[jj + 1 + perm[kk + 1 ]]] % 12; - c1 = 0.6 - d1.x * d1.x - d1.y * d1.y - d1.z * d1.z; - c2 = 0.6 - d2.x * d2.x - d2.y * d2.y - d2.z * d2.z; - c3 = 0.6 - d3.x * d3.x - d3.y * d3.y - d3.z * d3.z; - c4 = 0.6 - d4.x * d4.x - d4.y * d4.y - d4.z * d4.z; + c1 = 0.6f - d1.x * d1.x - d1.y * d1.y - d1.z * d1.z; + c2 = 0.6f - d2.x * d2.x - d2.y * d2.y - d2.z * d2.z; + c3 = 0.6f - d3.x * d3.x - d3.y * d3.y - d3.z * d3.z; + c4 = 0.6f - d4.x * d4.x - d4.y * d4.y - d4.z * d4.z; if(c1 < 0) n1 = 0; diff --git a/src/Nazara/Noise/Simplex4D.cpp b/src/Nazara/Noise/Simplex4D.cpp index 2651bf369..7da60ef1c 100644 --- a/src/Nazara/Noise/Simplex4D.cpp +++ b/src/Nazara/Noise/Simplex4D.cpp @@ -9,8 +9,8 @@ NzSimplex4D::NzSimplex4D() { - SkewCoeff4D = (sqrt(5.) - 1.)/4.; - UnskewCoeff4D = (5. - sqrt(5.))/20.; + SkewCoeff4D = (std::sqrt(5.f) - 1.f)/4.f; + UnskewCoeff4D = (5.f - std::sqrt(5.f))/20.f; int lookupTemp4D[][4] = { @@ -105,20 +105,20 @@ float NzSimplex4D::GetValue(float x, float y, float z, float w, float resolution d2.z = d1.z - off1.z + UnskewCoeff4D; d2.w = d1.w - off1.w + UnskewCoeff4D; - d3.x = d1.x - off2.x + 2*UnskewCoeff4D; - d3.y = d1.y - off2.y + 2*UnskewCoeff4D; - d3.z = d1.z - off2.z + 2*UnskewCoeff4D; - d3.w = d1.w - off2.w + 2*UnskewCoeff4D; + d3.x = d1.x - off2.x + 2.f*UnskewCoeff4D; + d3.y = d1.y - off2.y + 2.f*UnskewCoeff4D; + d3.z = d1.z - off2.z + 2.f*UnskewCoeff4D; + d3.w = d1.w - off2.w + 2.f*UnskewCoeff4D; - d4.x = d1.x - off3.x + 3*UnskewCoeff4D; - d4.y = d1.y - off3.y + 3*UnskewCoeff4D; - d4.z = d1.z - off3.z + 3*UnskewCoeff4D; - d4.w = d1.w - off3.w + 3*UnskewCoeff4D; + d4.x = d1.x - off3.x + 3.f*UnskewCoeff4D; + d4.y = d1.y - off3.y + 3.f*UnskewCoeff4D; + d4.z = d1.z - off3.z + 3.f*UnskewCoeff4D; + d4.w = d1.w - off3.w + 3.f*UnskewCoeff4D; - d5.x = d1.x - 1.0 + 4*UnskewCoeff4D; - d5.y = d1.y - 1.0 + 4*UnskewCoeff4D; - d5.z = d1.z - 1.0 + 4*UnskewCoeff4D; - d5.w = d1.w - 1.0 + 4*UnskewCoeff4D; + d5.x = d1.x - 1.f + 4*UnskewCoeff4D; + d5.y = d1.y - 1.f + 4*UnskewCoeff4D; + d5.z = d1.z - 1.f + 4*UnskewCoeff4D; + d5.w = d1.w - 1.f + 4*UnskewCoeff4D; ii = skewedCubeOrigin.x & 255; jj = skewedCubeOrigin.y & 255; @@ -131,11 +131,11 @@ float NzSimplex4D::GetValue(float x, float y, float z, float w, float resolution gi3 = perm[ii + off3.x + perm[jj + off3.y + perm[kk + off3.z + perm[ll + off3.w]]]] & 31; gi4 = perm[ii + 1 + perm[jj + 1 + perm[kk + 1 + perm[ll + 1]]]] % 32; - c1 = 0.6 - d1.x*d1.x - d1.y*d1.y - d1.z*d1.z - d1.w*d1.w; - c2 = 0.6 - d2.x*d2.x - d2.y*d2.y - d2.z*d2.z - d2.w*d2.w; - c3 = 0.6 - d3.x*d3.x - d3.y*d3.y - d3.z*d3.z - d3.w*d3.w; - c4 = 0.6 - d4.x*d4.x - d4.y*d4.y - d4.z*d4.z - d4.w*d4.w; - c5 = 0.6 - d5.x*d5.x - d5.y*d5.y - d5.z*d5.z - d5.w*d5.w; + c1 = 0.6f - d1.x*d1.x - d1.y*d1.y - d1.z*d1.z - d1.w*d1.w; + c2 = 0.6f - d2.x*d2.x - d2.y*d2.y - d2.z*d2.z - d2.w*d2.w; + c3 = 0.6f - d3.x*d3.x - d3.y*d3.y - d3.z*d3.z - d3.w*d3.w; + c4 = 0.6f - d4.x*d4.x - d4.y*d4.y - d4.z*d4.z - d4.w*d4.w; + c5 = 0.6f - d5.x*d5.x - d5.y*d5.y - d5.z*d5.z - d5.w*d5.w; if(c1 < 0) n1 = 0; @@ -162,5 +162,5 @@ float NzSimplex4D::GetValue(float x, float y, float z, float w, float resolution else n5 = c5*c5*c5*c5*(gradient4[gi4][0]*d5.x + gradient4[gi4][1]*d5.y + gradient4[gi4][2]*d5.z + gradient4[gi4][3]*d5.w); - return (n1+n2+n3+n4+n5)*27.0; + return (n1+n2+n3+n4+n5)*27.f; }