From c7f7ed890112b25a18ebffffb4e0a200de2c8ddc Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Wed, 30 Sep 2020 20:51:54 +0200 Subject: [PATCH] Update ColladaLoader.cpp --- code/AssetLib/Collada/ColladaLoader.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/code/AssetLib/Collada/ColladaLoader.cpp b/code/AssetLib/Collada/ColladaLoader.cpp index ab17097ca..4beaf8431 100644 --- a/code/AssetLib/Collada/ColladaLoader.cpp +++ b/code/AssetLib/Collada/ColladaLoader.cpp @@ -384,10 +384,11 @@ void ColladaLoader::BuildLightsForNode(const ColladaParser &pParser, const Colla if (srcLight->mPenumbraAngle >= ASSIMP_COLLADA_LIGHT_ANGLE_NOT_SET * (1 - 1e-6f)) { // Need to rely on falloff_exponent. I don't know how to interpret it, so I need to guess .... // epsilon chosen to be 0.1 - if ( 0.0f == srcLight->mFalloffExponent ) { - srcLight->mFalloffExponent = 1.0f; + float f = 1.0f; + if ( 0.0f != srcLight->mFalloffExponent ) { + f = 1.f / srcLight->mFalloffExponent; } - out->mAngleOuterCone = std::acos(std::pow(0.1f, 1.f / srcLight->mFalloffExponent)) + + out->mAngleOuterCone = std::acos(std::pow(0.1f, f)) + out->mAngleInnerCone; } else { out->mAngleOuterCone = out->mAngleInnerCone + AI_DEG_TO_RAD(srcLight->mPenumbraAngle);