Я бы хотел услышать, что люди думают, что оптимальные призывы к обращению для Open GL ES (на iphone).Минимизация вызовов glDrawArray в OpenGl es
В частности, я читал во многих местах, что лучше всего свести к минимуму количество вызовов glDrawArrays/glDrawElements - я думаю, что Apple говорит, что 10 должны быть максимальными в их недавнем представлении WWDC. Как я понимаю, для этого вам нужно поместить все вершины в один массив, если это возможно, поэтому вам нужно только один раз вызвать вызов drawArrays.
Но я смущен, потому что это, безусловно, означает, что вы не можете использовать функции перевода, поворота, масштабирования, потому что это применимо к всей геометрии. Что хорошо, но разве это не значит, что вам нужно предварительно вычислить каждую позицию вершин самостоятельно, а не открывать gl?
Кроме того, разве это не означает, что вы не можете использовать какие-либо настройки вентилятора/полосы, если только у вас нет непрерывной формы?
Эти недостатки заставляют меня думать, что я не понимая, что-то правильно, так что я предполагаю, что я ищу подтверждение того, что я должен:
- пытается сделать убер массив всех треугольников рисовать.
- Смиритесь с тем, что мне придется самому выработать все вершинные позиции.
- Забудьте о push'ing и pop'ing каждую вещь, чтобы привлечь в это нужное место
Это то, что делают другие?
Благодаря
отличный ответ на очень широкий вопрос. – Dad
Я кодирую в основном 2d-приложения (спрайты), поэтому общее количество вершин довольно низкое, но количество спрайтов может быть довольно высоким, и я использую призыв рисования для спрайта. Тем не менее, я только замечаю, что на сегодняшний день достигнуты показатели производительности. Я хотел бы максимально упорядочить мои спрайты (уже используя атласы, одиночные шейдеры), но мне интересно, какие затраты на восстановление VBO/VAO/IBO каждого кадра для объектов, которые движутся независимо. –