diff options
Diffstat (limited to 'indra/newview/llface.cpp')
-rw-r--r-- | indra/newview/llface.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/indra/newview/llface.cpp b/indra/newview/llface.cpp index 15f59e84a6..863e335f4a 100644 --- a/indra/newview/llface.cpp +++ b/indra/newview/llface.cpp @@ -761,8 +761,7 @@ BOOL LLFace::genVolumeBBoxes(const LLVolume &volume, S32 f, mCenterLocal.set(t.getF32ptr()); t.setSub(newMax,newMin); - t.mul(0.5f); - mBoundingSphereRadius = t.getLength3().getF32(); + mBoundingSphereRadius = t.getLength3().getF32()*0.5f; updateCenterAgent(); } @@ -1374,7 +1373,7 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume, LLVector4a& norm = vf.mNormals[i]; LLVector4a& center = *(vf.mCenter); - + if (texgen != LLTextureEntry::TEX_GEN_DEFAULT) { LLVector4a vec = vf.mPositions[i]; @@ -1598,7 +1597,14 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume, mTexExtents[0].setVec(0,0); mTexExtents[1].setVec(1,1); xform(mTexExtents[0], cos_ang, sin_ang, os, ot, ms, mt); - xform(mTexExtents[1], cos_ang, sin_ang, os, ot, ms, mt); + xform(mTexExtents[1], cos_ang, sin_ang, os, ot, ms, mt); + + F32 es = vf.mTexCoordExtents[1].mV[0] - vf.mTexCoordExtents[0].mV[0] ; + F32 et = vf.mTexCoordExtents[1].mV[1] - vf.mTexCoordExtents[0].mV[1] ; + mTexExtents[0][0] *= es ; + mTexExtents[1][0] *= es ; + mTexExtents[0][1] *= et ; + mTexExtents[1][1] *= et ; } mLastVertexBuffer = mVertexBuffer; |