am 4b05c5a9: am 5daee1dc: Merge "Limit dotProduct value to 1.0f, so acosf would not return NaN." into mnc-dev

* commit '4b05c5a9c22fc0e59310020a119d6fb42c1e103e':
  Limit dotProduct value to 1.0f, so acosf would not return NaN.
This commit is contained in:
Tenghui Zhu
2015-06-25 22:10:15 +00:00
committed by Android Git Automerger

View File

@@ -21,6 +21,7 @@
#include <utils/Log.h>
#include <utils/Trace.h>
#include <utils/Vector.h>
#include <utils/MathUtils.h>
#include "AmbientShadow.h"
#include "Properties.h"
@@ -172,6 +173,8 @@ int ShadowTessellator::getExtraVertexNumber(const Vector2& vector1,
// acos( ) --- [0, M_PI]
// floor(...) --- [0, EXTRA_VERTEX_PER_PI]
float dotProduct = vector1.dot(vector2);
// make sure that dotProduct value is in acsof input range [-1, 1]
dotProduct = MathUtils::clamp(dotProduct, -1.0f, 1.0f);
// TODO: Use look up table for the dotProduct to extraVerticesNumber
// computation, if needed.
float angle = acosf(dotProduct);