Keine Beschreibung
Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

DecalUpdateCulledSystem.cs 1.3KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. namespace UnityEngine.Rendering.Universal
  2. {
  3. /// <summary>
  4. /// Writes culling results into <see cref="DecalCulledChunk"/>.
  5. /// </summary>
  6. internal class DecalUpdateCulledSystem
  7. {
  8. private DecalEntityManager m_EntityManager;
  9. private ProfilingSampler m_Sampler;
  10. public DecalUpdateCulledSystem(DecalEntityManager entityManager)
  11. {
  12. m_EntityManager = entityManager;
  13. m_Sampler = new ProfilingSampler("DecalUpdateCulledSystem.Execute");
  14. }
  15. public void Execute()
  16. {
  17. using (new ProfilingScope(m_Sampler))
  18. {
  19. for (int i = 0; i < m_EntityManager.chunkCount; ++i)
  20. Execute(m_EntityManager.culledChunks[i], m_EntityManager.culledChunks[i].count);
  21. }
  22. }
  23. private void Execute(DecalCulledChunk culledChunk, int count)
  24. {
  25. if (count == 0)
  26. return;
  27. culledChunk.currentJobHandle.Complete();
  28. CullingGroup cullingGroup = culledChunk.cullingGroups;
  29. culledChunk.visibleDecalCount = cullingGroup.QueryIndices(true, culledChunk.visibleDecalIndexArray, 0);
  30. culledChunk.visibleDecalIndices.CopyFrom(culledChunk.visibleDecalIndexArray);
  31. }
  32. }
  33. }