Максимальное значение делителя атрибута OpenGL

При рисовании экземпляра в OpenGL, делитель атрибута может быть установлен только на 255 в качестве максимального значения, поэтому для объединения большой сетки мне нужно разделиться на несколько экземпляров. Мне нужно больше узнать о делителе в OpenGL, зависит ли максимальный лимит от драйвера / графического процессора или он всегда 255 на всех устройствах?

1 ответ

Вы неправильно понимаете, как работает массив делителей и экземпляров.

Экземпляр означает рендеринг одной и той же сетки несколько раз, предоставляя разные данные для каждого экземпляра, такие как преобразования и так далее. Массивы экземпляров являются одним из способов предоставления данных для каждого экземпляра.

Делитель не является делителем числа вершин. Это делитель количества экземпляров. И, таким образом, он действительно делает что-то полезное, только если вы используете рендеринг экземпляров.

Если делитель равен нулю, то для этого атрибута не происходит создания экземпляров. Если делитель равен 1, то атрибут будет одинаковым для всех вершин в экземпляре, но следующий экземпляр получит следующее значение. Если делитель равен 2, то первые два экземпляра получат одинаковое значение, но следующие два получат другое. И так далее.

Если вы не делаете что-то особенное с инстансингом, тогда ваш делитель должен быть либо 0, либо 1. Он никогда не должен основываться на числе вершин.

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