Externalize list sizing for render::cullItems

This commit is contained in:
Zach Pomerantz 2016-01-20 12:39:27 -08:00
parent 568ae2e7bc
commit 0a34ee9138
2 changed files with 3 additions and 3 deletions

View file

@ -28,9 +28,6 @@ void render::cullItems(const RenderContextPointer& renderContext, const CullFunc
RenderArgs* args = renderContext->getArgs();
ViewFrustum* frustum = args->_viewFrustum;
outItems.clear();
outItems.reserve(inItems.size());
details._considered += inItems.size();
// Culling / LOD
@ -208,6 +205,7 @@ void DrawLight::run(const SceneContextPointer& sceneContext, const RenderContext
auto& details = args->_details.edit(RenderDetails::OTHER_ITEM);
ItemIDsBounds culledItems;
culledItems.reserve(inItems.size());
cullItems(renderContext, _cullFunctor, details, inItems, culledItems);
gpu::doInBatch(args->_context, [&](gpu::Batch& batch) {

View file

@ -49,6 +49,8 @@ public:
void run(const SceneContextPointer& sceneContext, const RenderContextPointer& renderContext, const ItemIDsBounds& inItems, ItemIDsBounds& outItems) {
const auto& args = renderContext->getArgs();
auto& details = args->_details.edit(T);
outItems.clear();
outItems.reserve(inItems.size());
render::cullItems(renderContext, _cullFunctor, details, inItems, outItems);
}