Update ColladaLoader.cpp
parent
0191c661b5
commit
c7f7ed8901
|
@ -384,10 +384,11 @@ void ColladaLoader::BuildLightsForNode(const ColladaParser &pParser, const Colla
|
||||||
if (srcLight->mPenumbraAngle >= ASSIMP_COLLADA_LIGHT_ANGLE_NOT_SET * (1 - 1e-6f)) {
|
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 ....
|
// 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
|
// epsilon chosen to be 0.1
|
||||||
if ( 0.0f == srcLight->mFalloffExponent ) {
|
float f = 1.0f;
|
||||||
srcLight->mFalloffExponent = 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;
|
out->mAngleInnerCone;
|
||||||
} else {
|
} else {
|
||||||
out->mAngleOuterCone = out->mAngleInnerCone + AI_DEG_TO_RAD(srcLight->mPenumbraAngle);
|
out->mAngleOuterCone = out->mAngleInnerCone + AI_DEG_TO_RAD(srcLight->mPenumbraAngle);
|
||||||
|
|
Loading…
Reference in New Issue