BatchCullingOutputDrawCommands.visibleInstances
Declaration
public int* visibleInstances;Описание
Индексы видимых экземпляров для отображения.
Поскольку у каждой команды отрисовки может быть разное число экземпляров, BatchRendererGroup хранит здесь индексы экземпляров, и каждая команда обращается к ним через свойство visibleOffset. Индексы экземпляров нумеруются с нуля; Unity передаёт их прямо в шейдер, который по этому значению определяет, откуда загружать данные экземпляра.
Обратный вызов culling должен выделить память для этой команды с помощью UnsafeUtility.Malloc с параметром Allocator.TempJob. Unity освобождает эту память, когда заканчивает отрисовку по командам отрисовки.
Видимые индексы экземпляров используют под собственно индекс экземпляра только младшие 24 бита, а старшие 8 бит — под коэффициент перехода LOD. В будущей версии BatchRendererGroup это ограничение будет действовать только для команд отрисовки, которые действительно устанавливают флаг LODCrossFade. Это позволит использовать все 32 бита, что удобно, если вы хотите закодировать данные прямо в индекс.