diff options
author | Oz Linden <oz@lindenlab.com> | 2016-03-22 16:30:59 -0400 |
---|---|---|
committer | Oz Linden <oz@lindenlab.com> | 2016-03-22 16:30:59 -0400 |
commit | ded162be6084e77dd4d4cb13a62d6e2303507dac (patch) | |
tree | e8c678f212955ecd6f26ba5ffa13fc4db175dff0 /indra/newview | |
parent | 31f3db02919870a8e92c9452de477c1478b273e9 (diff) |
fix merge error for specular rendering on impostors
Diffstat (limited to 'indra/newview')
-rw-r--r-- | indra/newview/lldrawpoolavatar.cpp | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/indra/newview/lldrawpoolavatar.cpp b/indra/newview/lldrawpoolavatar.cpp index 63e4abb308..d4f37e51ef 100644 --- a/indra/newview/lldrawpoolavatar.cpp +++ b/indra/newview/lldrawpoolavatar.cpp @@ -1808,7 +1808,25 @@ void LLDrawPoolAvatar::renderRigged(LLVOAvatar* avatar, U32 type, bool glow) { //order is important here LLRender::DIFFUSE_MAP should be last, becouse it change //(gGL).mCurrTextureUnitIndex - gGL.getTexUnit(specular_channel)->bind(LLPipeline::sImpostorRender ? LLViewerTextureManager::findTexture(IMG_BLACK_SQUARE_MALEVICH) : face->getTexture(LLRender::SPECULAR_MAP)); + LLViewerTexture* specular = NULL; + if (LLPipeline::sImpostorRender) + { + std::vector<LLViewerFetchedTexture*> found; + LLViewerTextureManager::findFetchedTextures(IMG_BLACK_SQUARE, found); + if (1 <= found.size()) + { + specular = found[0]; + } + } + else + { + specular = face->getTexture(LLRender::SPECULAR_MAP); + } + if (specular) + { + gGL.getTexUnit(specular_channel)->bind(specular); + } + gGL.getTexUnit(normal_channel)->bind(face->getTexture(LLRender::NORMAL_MAP)); gGL.getTexUnit(sDiffuseChannel)->bind(face->getTexture(LLRender::DIFFUSE_MAP), false, true); |