diff options
author | Dave Parks <davep@lindenlab.com> | 2010-05-24 17:33:41 -0500 |
---|---|---|
committer | Dave Parks <davep@lindenlab.com> | 2010-05-24 17:33:41 -0500 |
commit | c0b654dd4bee466a2ccbf050e532fb4a05acc549 (patch) | |
tree | d44c77e4a4422c0b46fa851730e55ca443a818b0 /indra/llmath | |
parent | 52134bdc817ebfdea7733432e43e8e350944ab2e (diff) |
Fix for bad feeding of vectorized raycast.
Diffstat (limited to 'indra/llmath')
-rw-r--r-- | indra/llmath/llvolume.cpp | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/indra/llmath/llvolume.cpp b/indra/llmath/llvolume.cpp index 2ff1463b7c..f05e6eb9d9 100644 --- a/indra/llmath/llvolume.cpp +++ b/indra/llmath/llvolume.cpp @@ -4187,6 +4187,9 @@ S32 LLVolume::lineSegmentIntersect(const LLVector3& start, const LLVector3& end, LLVector4a starta, dira; + starta.load3(start.mV); + dira.load3(dir.mV); + LLVector4a* p = (LLVector4a*) face.mPositions; for (U32 tri = 0; tri < face.mNumIndices/3; tri++) @@ -4235,17 +4238,10 @@ S32 LLVolume::lineSegmentIntersect(const LLVector3& start, const LLVector3& end, if (bi_normal != NULL) { - if (!face.mBinormals) - { - face.createBinormals(); - } LLVector4* binormal = (LLVector4*) face.mBinormals; - if (binormal) - { - *bi_normal = ((1.f - a - b) * LLVector3(binormal[index1]) + + *bi_normal = ((1.f - a - b) * LLVector3(binormal[index1]) + a * LLVector3(binormal[index2]) + b * LLVector3(binormal[index3])); - } } } |