diff options
author | Ferenc Arn <tagcup@yahoo.com> | 2017-01-14 14:35:39 -0600 |
---|---|---|
committer | Ferenc Arn <tagcup@yahoo.com> | 2017-01-16 13:36:33 -0600 |
commit | 6f4f9aa6ded6da027c84cc466c767334dc3d3362 (patch) | |
tree | 4d45d7e600a069d7feb2a2dae3a70d6b9ddbf884 /drivers | |
parent | d13f2f9e25e380496e706b59720cd85eed299ca2 (diff) |
Overloaded basic math funcs (double and float variants). Use real_t rather than float or double in generic functions (core/math) whenever possible.
Also inlined some more math functions.
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gles3/rasterizer_scene_gles3.cpp | 8 | ||||
-rw-r--r-- | drivers/gles3/rasterizer_storage_gles3.cpp | 2 |
2 files changed, 5 insertions, 5 deletions
diff --git a/drivers/gles3/rasterizer_scene_gles3.cpp b/drivers/gles3/rasterizer_scene_gles3.cpp index f47fcfcd9b..b972c6a877 100644 --- a/drivers/gles3/rasterizer_scene_gles3.cpp +++ b/drivers/gles3/rasterizer_scene_gles3.cpp @@ -166,7 +166,7 @@ void RasterizerSceneGLES3::shadow_atlas_set_quadrant_subdivision(RID p_atlas,int subdiv<<=1; } - subdiv=int(Math::sqrt(subdiv)); + subdiv=int(Math::sqrt((float)subdiv)); //obtain the number that will be x*x @@ -568,7 +568,7 @@ void RasterizerSceneGLES3::reflection_atlas_set_subdivision(RID p_ref_atlas,int subdiv<<=1; } - subdiv=int(Math::sqrt(subdiv)); + subdiv=int(Math::sqrt((float)subdiv)); if (reflection_atlas->subdiv==subdiv) return; @@ -4567,7 +4567,7 @@ static _FORCE_INLINE_ Vector3 ImportanceSampleGGX(Vector2 Xi, float Roughness, V // Compute distribution direction float Phi = 2.0f * Math_PI * Xi.x; - float CosTheta = Math::sqrt((1.0f - Xi.y) / (1.0f + (a*a - 1.0f) * Xi.y)); + float CosTheta = Math::sqrt((float)(1.0f - Xi.y) / (1.0f + (a*a - 1.0f) * Xi.y)); float SinTheta = Math::sqrt((float)Math::abs(1.0f - CosTheta * CosTheta)); // Convert to spherical direction @@ -4615,7 +4615,7 @@ void RasterizerSceneGLES3::_generate_brdf() { float NoV = float(i+1)/(brdf_size); //avoid storing nov0 Vector3 V; - V.x = Math::sqrt( 1.0 - NoV * NoV ); + V.x = Math::sqrt( 1.0f - NoV * NoV ); V.y = 0.0; V.z = NoV; diff --git a/drivers/gles3/rasterizer_storage_gles3.cpp b/drivers/gles3/rasterizer_storage_gles3.cpp index 9f1ff396f1..96befee869 100644 --- a/drivers/gles3/rasterizer_storage_gles3.cpp +++ b/drivers/gles3/rasterizer_storage_gles3.cpp @@ -5256,7 +5256,7 @@ void RasterizerStorageGLES3::update_particles() { shaders.particles.set_uniform(ParticlesShaderGLES3::ORIGIN,particles->origin); - float new_phase = Math::fmod(particles->phase+(frame.delta/particles->lifetime),1.0); + float new_phase = Math::fmod((float)particles->phase+(frame.delta/particles->lifetime),(float)1.0); shaders.particles.set_uniform(ParticlesShaderGLES3::SYSTEM_PHASE,new_phase); shaders.particles.set_uniform(ParticlesShaderGLES3::PREV_SYSTEM_PHASE,particles->phase); |