summaryrefslogtreecommitdiff
path: root/indra/llmath
diff options
context:
space:
mode:
authorDave Parks <davep@lindenlab.com>2010-05-24 17:33:41 -0500
committerDave Parks <davep@lindenlab.com>2010-05-24 17:33:41 -0500
commitc0b654dd4bee466a2ccbf050e532fb4a05acc549 (patch)
treed44c77e4a4422c0b46fa851730e55ca443a818b0 /indra/llmath
parent52134bdc817ebfdea7733432e43e8e350944ab2e (diff)
Fix for bad feeding of vectorized raycast.
Diffstat (limited to 'indra/llmath')
-rw-r--r--indra/llmath/llvolume.cpp12
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]));
- }
}
}