Bumpmapping now appears on hud objects in deferred.
This commit is contained in:
@@ -3911,6 +3911,7 @@ void LLVolumeGeometryManager::genDrawInfo(LLSpatialGroup* group, U32 mask, std::
|
||||
std::sort(faces.begin(), faces.end(), LLFace::CompareDistanceGreater());
|
||||
}
|
||||
|
||||
bool hud_group = group->isHUDGroup() ;
|
||||
std::vector<LLFace*>::iterator face_iter = faces.begin();
|
||||
|
||||
LLSpatialGroup::buffer_map_t buffer_map;
|
||||
@@ -4181,7 +4182,7 @@ void LLVolumeGeometryManager::genDrawInfo(LLSpatialGroup* group, U32 mask, std::
|
||||
registerFace(group, facep, LLRenderPass::PASS_INVISI_SHINY);
|
||||
registerFace(group, facep, LLRenderPass::PASS_INVISIBLE);
|
||||
}
|
||||
else if (LLPipeline::sRenderDeferred)
|
||||
else if (LLPipeline::sRenderDeferred && !hud_group)
|
||||
{ //deferred rendering
|
||||
if (te->getFullbright())
|
||||
{ //register in post deferred fullbright shiny pass
|
||||
@@ -4219,7 +4220,7 @@ void LLVolumeGeometryManager::genDrawInfo(LLSpatialGroup* group, U32 mask, std::
|
||||
else if (fullbright)
|
||||
{ //fullbright
|
||||
registerFace(group, facep, LLRenderPass::PASS_FULLBRIGHT);
|
||||
if (LLPipeline::sRenderDeferred && LLPipeline::sRenderBump && te->getBumpmap())
|
||||
if (LLPipeline::sRenderDeferred && !hud_group && LLPipeline::sRenderBump && te->getBumpmap())
|
||||
{ //if this is the deferred render and a bump map is present, register in post deferred bump
|
||||
registerFace(group, facep, LLRenderPass::PASS_POST_BUMP);
|
||||
}
|
||||
@@ -4245,7 +4246,7 @@ void LLVolumeGeometryManager::genDrawInfo(LLSpatialGroup* group, U32 mask, std::
|
||||
}
|
||||
|
||||
//not sure why this is here, and looks like it might cause bump mapped objects to get rendered redundantly -- davep 5/11/2010
|
||||
if (!is_alpha && !LLPipeline::sRenderDeferred)
|
||||
if (!is_alpha && (hud_group || !LLPipeline::sRenderDeferred))
|
||||
{
|
||||
llassert((mask & LLVertexBuffer::MAP_NORMAL) || fullbright);
|
||||
facep->setPoolType((fullbright) ? LLDrawPool::POOL_FULLBRIGHT : LLDrawPool::POOL_SIMPLE);
|
||||
|
||||
Reference in New Issue
Block a user