Browse Source

Update ColladaLoader.cpp

Kim Kulling 4 years ago
parent
commit
c7f7ed8901
1 changed files with 4 additions and 3 deletions
  1. 4 3
      code/AssetLib/Collada/ColladaLoader.cpp

+ 4 - 3
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);