예제 #1
0
        public void CollectVisibleObjects(RenderQueue queue, string pipelineStage, ref BoundingFrustum visibleFrustum, Vector3 viewPosition)
        {
            var stageList = new List <RenderItem>(GetStageList(pipelineStage));

            Cull(stageList, ref visibleFrustum);
            queue.AddRange(stageList, viewPosition);
        }
예제 #2
0
        public void CollectVisibleObjects(RenderQueue queue, string pipelineStage, ref BoundingFrustum visibleFrustum, Vector3 viewPosition)
        {
            _results.Clear();
            Func <RenderItem, bool> filter = GetFilter(pipelineStage);

            _octree.GetContainedObjects(visibleFrustum, _results, filter);
            queue.AddRange(_results, viewPosition);
            foreach (var item in _freeRenderItems)
            {
                if (filter(item))
                {
                    queue.Add(item, viewPosition);
                }
            }
        }
예제 #3
0
        public void CollectVisibleObjects(RenderQueue queue, string pipelineStage, Vector3 viewPosition)
        {
            var stageList = GetStageList(pipelineStage);

            queue.AddRange(GetStageList(pipelineStage), viewPosition);
        }