Где в спецификации совместимости OpenGL c сказано, что нулевой массив атрибутов вершин должен быть включен? - PullRequest
1 голос
/ 17 января 2020

Недавно я столкнулся с известной ошибкой совместимости OpenGL, которая с тех пор была исправлена. В процессе поиска решения я нашел этот ответ , подробно описывающий проблему, однако я не могу найти никаких ссылок в спецификациях 3.2 или 3.3 (совместимость), в которых говорится, что массив 0 должен быть включен.

В ответе говорится, что формулировка в OpenGL 4.3 была изменена, чтобы прояснить и исправить эту ошибку, но не приводит ни текста, ни разделов, где эта формулировка была расположена. Я прочитал определенные c области и могу найти только те изменения в OpenGL 4.5, которые могут быть связаны:

Установка любой generi c атрибут вершины обновляет текущие значения атрибута. Кроме того, установка generi c атрибута вершины ноль задает вершину, как описано в разделе 10.7.21.

Это используется для исключения нуля массива атрибутов вершины, но с тех пор было изменено на «любой» generi c атрибут вершины, включая атрибут вершины ноль.

Где и в каких спецификациях OpenGL должен быть включен массив атрибутов вершины ноль? Во-вторых, где я могу прочитать изменения в спецификации 4.3, которые проясняют эту конкретную проблему c?

1 Ответ

2 голосов
/ 17 января 2020

Я не могу найти какие-либо ссылки в спецификациях 3.2 или 3.3 (совместимость), в которых говорится, что должен быть включен нулевой массив.

Как я подробно говорил в , это ответ , требование атрибута вершины 0 равно , подразумеваемому поведением команд glDraw*, определяемых как равные последовательности команд рендеринга в непосредственном режиме, где команда glVertex (с псевдонимом атрибут index 0) фактически создает вершину, отправленную в конвейер.

Вы можете найти этот язык в профиле совместимости (и только там), например, c из OpenGL 3.2 в разделе 2.8.1 «Команды рисования», и он существует до тех пор, пока GL 4.2 не сравнимо (раздел имеет только что был переименован в 2.8.2).

С GL4.3 spe c был полностью переработан, и язык полностью изменился. Теперь нет ссылки на немедленный режим при рисовании с массивами вершин в профилях компатов, как это уже было удалено из профилей ядра ранее. В этом отношении раздел 10.5 «Команды рисования с использованием массивов вершин» в основном идентичен для профилей ядра и компаса.

...