diff options
| author | Merov Linden <merov@lindenlab.com> | 2012-06-08 18:58:35 -0700 |
|---|---|---|
| committer | Merov Linden <merov@lindenlab.com> | 2012-06-08 18:58:35 -0700 |
| commit | 1bfdfcb7b9dd392459b012b0712237716c94a84c (patch) | |
| tree | bdc4dfb4ef49c209acbdc3e9dd633a5a8a29dbba /indra/newview/llface.cpp | |
| parent | ab954444154de43ee18575a3b0649d0f3045dfd8 (diff) | |
| parent | dab5ef9d881bc41bc4924102c939db25dd26e0d9 (diff) | |
Merge pull from vir/drano
Diffstat (limited to 'indra/newview/llface.cpp')
| -rw-r--r-- | indra/newview/llface.cpp | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/indra/newview/llface.cpp b/indra/newview/llface.cpp index cd33a19a2a..75cd209e1a 100644 --- a/indra/newview/llface.cpp +++ b/indra/newview/llface.cpp @@ -1742,14 +1742,22 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume, LLVector4a texIdx; - F32 index = (F32) (mTextureIndex < 255 ? mTextureIndex : 0); + U8 index = mTextureIndex < 255 ? mTextureIndex : 0; + + F32 val = 0.f; + U8* vp = (U8*) &val; + vp[0] = index; + vp[1] = 0; + vp[2] = 0; + vp[3] = 0; + llassert(index <= LLGLSLShader::sIndexedTextureChannels-1); LLVector4Logical mask; mask.clear(); mask.setElement<3>(); - texIdx.set(0,0,0,index); + texIdx.set(0,0,0,val); { LLFastTimer t(FTM_FACE_POSITION_STORE); @@ -1838,7 +1846,7 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume, } } - if (rebuild_color) + if (rebuild_color && mVertexBuffer->hasDataType(LLVertexBuffer::TYPE_COLOR) ) { LLFastTimer t(FTM_FACE_GEOM_COLOR); mVertexBuffer->getColorStrider(colors, mGeomIndex, mGeomCount, map_range); @@ -1951,6 +1959,12 @@ BOOL LLFace::hasMedia() const const F32 LEAST_IMPORTANCE = 0.05f ; const F32 LEAST_IMPORTANCE_FOR_LARGE_IMAGE = 0.3f ; +void LLFace::resetVirtualSize() +{ + setVirtualSize(0.f); + mImportanceToCamera = 0.f; +} + F32 LLFace::getTextureVirtualSize() { F32 radius; |
