Алгоритм поиска - PullRequest
       38

Алгоритм поиска

0 голосов
/ 19 апреля 2020

Я разрабатываю пакетное средство рендеринга для WebGL. По сути, он группирует экранный объект (или просто объекты) в пакеты, которые могут быть визуализированы в одном вызове отрисовки. Каждый пакет - это просто упорядоченный список объектов.

Он сводится к следующей проблеме:

  • Каждый объект имеет layerID & batchID.

    1) layerID - это количество перекрывающихся объектов ниже. Эти объекты должны быть представлены ранее. Вы можете предположить , что у вас есть список всех объектов ниже (называемых зависимостями). Зависимости могут быть в одной партии; однако они должны быть вставлены раньше.

    2) Объекты с одинаковым batchID могут быть в одной группе. Если группа содержит объекты с определенным идентификатором пакета, нет ограничение на количество объектов этого идентификатора пакета.

  • Объекты в пакете могут содержать только "K" разные batchID. Как упоминалось ранее, количество объектов здесь не имеет значения.

  • Учитывая список экранных объектов, их layerID и batchID и их зависимостей, как вы можете сгруппировать их вместе в наименьшее количество групп?


Я думаю о следующем решении для этого:

  • Для каждого batchID создайте отдельную группу (список ).
  • Поместите все объекты в свои корзины, отсортированные по их layerID.
  • Объедините "K" корзины так, чтобы они были в порядке по layerID в одну партию.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...