mirror of
https://github.com/minetest/irrlicht.git
synced 2024-12-25 15:42:25 +01:00
expf throws floating point underflow exception on every value in VS2017.
switch to IEEE-compatible type double exp git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6099 dfc29bdd-3216-0410-991c-e03cc46cb475
This commit is contained in:
parent
2a1d6e5f48
commit
5bf308139c
@ -57,7 +57,7 @@ typedef f32 generate_func(s16 x, s16 y, f32 s);
|
||||
f32 eggbox(s16 x, s16 y, f32 s)
|
||||
{
|
||||
const f32 r = 4.f*sqrtf((f32)(x*x + y*y))/s;
|
||||
const f32 z = expf(-r * 2) * (cosf(0.2f * x) + cosf(0.2f * y));
|
||||
const f32 z = (f32)exp(-r * 2) * (cosf(0.2f * x) + cosf(0.2f * y));
|
||||
return 0.25f+0.25f*z;
|
||||
}
|
||||
|
||||
|
@ -1607,10 +1607,10 @@ void CBurningVideoDriver::VertexCache_fill(const u32 sourceIndex, const u32 dest
|
||||
fog_factor = (FogEnd - EyeSpace.vertex.z) * EyeSpace.fog_scale;
|
||||
break;
|
||||
case EFT_FOG_EXP:
|
||||
fog_factor = expf(-FogDensity * EyeSpace.vertex.z);
|
||||
fog_factor = (f32)exp(-FogDensity * EyeSpace.vertex.z);
|
||||
break;
|
||||
case EFT_FOG_EXP2:
|
||||
fog_factor = expf(-FogDensity * FogDensity * EyeSpace.vertex.z * EyeSpace.vertex.z);
|
||||
fog_factor = (f32)exp(-FogDensity * FogDensity * EyeSpace.vertex.z * EyeSpace.vertex.z);
|
||||
break;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user