Передача нескольких матриц в униформу за один вызов в OpenGL

Последние 2 недели в Java я изучал, как использовать API OpenGL, и столкнулся с проблемой, которую, похоже, не могу решить в одиночку.

В моем простом механизме трехмерного рендеринга я могу рендерить около 10000*132 треугольников со скоростью 14-15 мс на кадр, но я уверен, что лучше иметь, потому что 10000 вызовов отрисовки не могут быть оптимальными. Учитывая, что каждый из этих 10000 нарисованных объектов использует один и тот же VAO, не будет ли гораздо эффективнее просто отправить как можно больше их уникальных матриц моделей в шейдер за один раз, прежде чем делать вызов draw для их рендеринга?

Итак, просто, мой вопрос: существует ли метод, с помощью которого я мог бы отправить несколько матриц за один раз в униформу шейдера, прежде чем сделать всего один вызов отрисовки, чтобы визуализировать один и тот же связанный VAO несколько раз, используя каждую из матриц в униформе, чтобы изменить их позиции?

0 ответов

Другие вопросы по тегам