public void EndCull(CullRequest cullRequest, CullResult cullResults)
 {
     m_DecalsVisibleThisFrame = QueryCullResults(cullRequest, cullResults);
     foreach (var pair in m_DecalSets)
     {
         pair.Value.EndCull(cullRequest[pair.Key]);
     }
 }
        private int QueryCullResults(CullRequest decalCullRequest, CullResult cullResults)
        {
            var totalVisibleDecals = 0;

            foreach (var pair in m_DecalSets)
            {
                totalVisibleDecals += pair.Value.QueryCullResults(decalCullRequest[pair.Key], cullResults[pair.Key]);
            }
            return(totalVisibleDecals);
        }
        public void BeginCull(CullRequest request)
        {
            Assert.IsNotNull(request);

            request.Clear();
            foreach (var pair in m_DecalSets)
            {
                pair.Value.BeginCull(request[pair.Key]);
            }
        }