Я программирую приложение для Android, где нарисована сетка, которую вы можете перемещать и двигаться в этом направлении. Сетка состоит из примерно 2000-5000 квадратов, каждая с другой текстурой. Я определил 4 вершины и использовал индексный буфер для рисования каждого квадрата. Перед рисованием я позиционирую его, используя модельную матрицу. Поскольку вы можете перемещаться по моей сцене, я использую просмотр отступов, который увеличивает производительность в некоторых ситуациях. К сожалению, может быть случай, когда мне нужно будет нарисовать все квадрациклы, поэтому я хочу спросить, как предотвратить медленный рисунок.Рисование многих текстурированных отрядов OpenGL ES 2.0
Я не могу использовать атлас текстуры, поскольку все текстуры довольно большие (от 256x256 до 1024x1024). Я думаю, что вызов glDrawElements() для каждого отряда делает меня медленным, но я не знаю, как я могу его изменить.
Еще одна идея, которую я имел, заключается в том, чтобы нарисовать сцену текстуры и просто привязать эту текстуру к одному квадруму, чтобы создать иллюзию сцены, нарисованной. По мере приближения пользователя я мог бы перерисовать его для лучшего разрешения. Может ли это работать?
Я с нетерпением жду любой помощи.
Подготовьте партии квадроциклов, которые используют одни и те же текстуры для уменьшения накладных расходов. – WLGfx
256x256x4 x 2000 = ~ 524MB. Вы ничего не упоминаете о mipmaps, но, чтобы приблизиться к разумной частоте кадров, вам, скорее всего, понадобятся, потому что это слишком много данных для большинства мобильных графических процессоров для обработки. – MuertoExcobito