Недавно на собеседовании я упомянул, что изучал современный OpenGL и рендеринг с объектами буфера вершин, потому что мой университет в то время обучал только конвейеру фиксированных функций с немедленным рендерингом режима. Интервьюер кратко прервал меня, чтобы сказать, что VBO фактически были заменены чем-то, что называется «рендеринг с нулевым состоянием», а затем позволил мне продолжить.
Позже я забыл спросить о том, что это значит, потому что мы быстро перешли на другие темы, и у интервьюера не хватило времени в конце из-за плотного графика.
Позже я искал в Интернете «нулевое состояние OpenGL» и «рендеринг нулевого состояния» без результатов, которые казались уместными, в основном это были только сведения о состоянии OpenGL.
Рассматриваемая организация очень сильно основана на исследованиях, так есть ли вероятность, что это расширение с незначительной поддержкой в настоящее время, или что используемая терминология варьируется из-за ее ультрасовременного характера?
Ответы:
Ваш интервьюер говорил своими словами о API без привязки . Недавно nVidia сделала хорошие презентации обо всем, что они называют прямым государственным доступом ( 1 , 2 ). Это не заменяет VBO.
РЕДАКТИРОВАТЬ : На самом деле, давайте рассмотрим предложение Тревора Пауэлла:
Кажется, что некоторые люди могут определенно отказаться от VBO в пользу рендеринга без атрибутов, используя геометрические шейдеры, извлекающие однородные данные или текстуры, как упоминалось в этой статье .
Я вижу, как кто-то может решить переключить свой двигатель на полный attirubte-less, но я бы не потворствовал такому шагу, если бы был в команде: причина - если вы внимательно прочитаете этот обзор конвейера - это с атрибутом меньше, кеш вершины FIFO становится непригодным для использования, поскольку пропускается полностью. Следовательно, без атрибутов удаляет хорошую возможность оптимизации.
Конечно, это требует сравнительного анализа, но чисто априори, это звучит как плохая идея для универсального, универсального решения.
источник