summaryrefslogtreecommitdiff
path: root/indra/newview/llviewerobjectlist.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llviewerobjectlist.cpp')
-rw-r--r--indra/newview/llviewerobjectlist.cpp25
1 files changed, 14 insertions, 11 deletions
diff --git a/indra/newview/llviewerobjectlist.cpp b/indra/newview/llviewerobjectlist.cpp
index 8cd295b8a8..a37120451e 100644
--- a/indra/newview/llviewerobjectlist.cpp
+++ b/indra/newview/llviewerobjectlist.cpp
@@ -1078,14 +1078,14 @@ void LLViewerObjectList::renderObjectBounds(const LLVector3 &center)
{
}
-
-U32 LLViewerObjectList::renderObjectsForSelect(LLCamera &camera, BOOL pick_parcel_wall, BOOL keep_pick_list)
+void LLViewerObjectList::renderObjectsForSelect(LLCamera &camera, const LLRect& screen_rect, BOOL pick_parcel_wall, BOOL render_transparent)
{
- gRenderForSelect = TRUE;
+ generatePickList(camera);
+ renderPickList(screen_rect, pick_parcel_wall, render_transparent);
+}
- // LLTimer pick_timer;
- if (!keep_pick_list)
- {
+void LLViewerObjectList::generatePickList(LLCamera &camera)
+{
LLViewerObject *objectp;
S32 i;
// Reset all of the GL names to zero.
@@ -1199,11 +1199,14 @@ U32 LLViewerObjectList::renderObjectsForSelect(LLCamera &camera, BOOL pick_parce
}
LLHUDIcon::generatePickIDs(i * step, step);
-
- // At this point, we should only have live drawables/viewer objects
- gPipeline.renderForSelect(mSelectPickList);
- }
}
+}
+
+void LLViewerObjectList::renderPickList(const LLRect& screen_rect, BOOL pick_parcel_wall, BOOL render_transparent)
+{
+ gRenderForSelect = TRUE;
+
+ gPipeline.renderForSelect(mSelectPickList, render_transparent, screen_rect);
//
// Render pass for selected objects
@@ -1220,7 +1223,6 @@ U32 LLViewerObjectList::renderObjectsForSelect(LLCamera &camera, BOOL pick_parce
//llinfos << "Rendered " << count << " for select" << llendl;
//llinfos << "Took " << pick_timer.getElapsedTimeF32()*1000.f << "ms to pick" << llendl;
- return 0;
}
LLViewerObject *LLViewerObjectList::getSelectedObject(const U32 object_id)
@@ -1526,3 +1528,4 @@ bool LLViewerObjectList::OrphanInfo::operator!=(const OrphanInfo &rhs) const
return !operator==(rhs);
}
+