diff options
author | Graham Madarasz (Graham) <graham@lindenlab.com> | 2013-05-03 08:22:50 -0700 |
---|---|---|
committer | Graham Madarasz (Graham) <graham@lindenlab.com> | 2013-05-03 08:22:50 -0700 |
commit | 419a06036b8ec172bdfa91ab7f1f7691cdbdb2ca (patch) | |
tree | a243fe2babf2772fd2b71fd40f2c8b5f90378ef4 /indra | |
parent | 735d19eeae4a818ddeeb061e6622070d5ec94e0d (diff) | |
parent | f1975f0fe9d09b0c9cffa94dad31de2c9f0d4849 (diff) |
Merge with vwr-dev-mat
Diffstat (limited to 'indra')
-rwxr-xr-x | indra/newview/llface.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/indra/newview/llface.cpp b/indra/newview/llface.cpp index 0226efa944..879dbf8470 100755 --- a/indra/newview/llface.cpp +++ b/indra/newview/llface.cpp @@ -1098,6 +1098,12 @@ bool LLFace::canRenderAsMask() return false; } + LLMaterial* mat = te->getMaterialParams(); + if (mat && mat->getDiffuseAlphaMode() == LLMaterial::DIFFUSE_ALPHA_MODE_BLEND) + { + return false; + } + if ((te->getColor().mV[3] == 1.0f) && // can't treat as mask if we have face alpha (te->getGlow() == 0.f) && // glowing masks are hard to implement - don't mask getTexture()->getIsAlphaMask()) // texture actually qualifies for masking (lazily recalculated but expensive) @@ -1626,8 +1632,8 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume, bool tex_anim = false; - LLVOVolume* vobj = (LLVOVolume*) (LLViewerObject*) mVObjp; - tex_mode = vobj->mTexAnimMode; + LLVOVolume* vobj = (LLVOVolume*) (LLViewerObject*) mVObjp; + tex_mode = vobj->mTexAnimMode; if (vobj->mTextureAnimp) { //texture animation is in play, override specular and normal map tex coords with diffuse texcoords @@ -1650,7 +1656,7 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume, do_xform = false; } - + if (getVirtualSize() >= MIN_TEX_ANIM_SIZE) { //don't override texture transform during tc bake tex_mode = 0; |