diff options
author | Dave SIMmONs <simon@lindenlab.com> | 2011-06-08 14:53:00 -0700 |
---|---|---|
committer | Dave SIMmONs <simon@lindenlab.com> | 2011-06-08 14:53:00 -0700 |
commit | 484a4733b7b361d87c6092f4f399951e84c2aacd (patch) | |
tree | 3031f4f041ffbe87f57d3a58e8ecf3bc988f439b /indra/llprimitive/llmodel.cpp | |
parent | 3dfb4944ed916f9a251078a2614a854b9de0315d (diff) | |
parent | 68a7c4cb83aca58e6ad9162be9e5022d6f801eac (diff) |
Merge latest from lindenlab/viewer-development/
Diffstat (limited to 'indra/llprimitive/llmodel.cpp')
-rw-r--r-- | indra/llprimitive/llmodel.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/indra/llprimitive/llmodel.cpp b/indra/llprimitive/llmodel.cpp index 794cdb83d5..57ac7a143f 100644 --- a/indra/llprimitive/llmodel.cpp +++ b/indra/llprimitive/llmodel.cpp @@ -991,6 +991,9 @@ void LLModel::normalizeVolumeFaces() scale.splat(1.f); scale.div(size); + LLVector4a inv_scale(1.f); + inv_scale.div(scale); + for (U32 i = 0; i < mVolumeFaces.size(); ++i) { LLVolumeFace& face = mVolumeFaces[i]; @@ -1007,10 +1010,14 @@ void LLModel::normalizeVolumeFaces() // For all the positions, we scale // the positions to fit within the unit cube. LLVector4a* pos = (LLVector4a*) face.mPositions; + LLVector4a* norm = (LLVector4a*) face.mNormals; + for (U32 j = 0; j < face.mNumVertices; ++j) { pos[j].add(trans); pos[j].mul(scale); + norm[j].mul(inv_scale); + norm[j].normalize3(); } } |