Что такое рендеринг в «нулевом состоянии» в OpenGL?


10

Недавно на собеседовании я упомянул, что изучал современный OpenGL и рендеринг с объектами буфера вершин, потому что мой университет в то время обучал только конвейеру фиксированных функций с немедленным рендерингом режима. Интервьюер кратко прервал меня, чтобы сказать, что VBO фактически были заменены чем-то, что называется «рендеринг с нулевым состоянием», а затем позволил мне продолжить.

Позже я забыл спросить о том, что это значит, потому что мы быстро перешли на другие темы, и у интервьюера не хватило времени в конце из-за плотного графика.

Позже я искал в Интернете «нулевое состояние OpenGL» и «рендеринг нулевого состояния» без результатов, которые казались уместными, в основном это были только сведения о состоянии OpenGL.

Рассматриваемая организация очень сильно основана на исследованиях, так есть ли вероятность, что это расширение с незначительной поддержкой в ​​настоящее время, или что используемая терминология варьируется из-за ее ультрасовременного характера?


Вы уверены, что это было «нулевое состояние», или это могло быть что-то еще со словом «ноль»? Я предполагаю, что он говорил о ноль накладных расходов: gdcvault.com/play/1020791
Лассе

Есть хороший шанс, что это может быть «подслушано с нуля», от просмотра видео, хотя я на 100% уверен, что его настоящие слова были «нулевым состоянием». Я предположил, что он имел в виду одну новую функцию, используемую для вызовов отрисовки, в отличие от оптимизации того, что уже было доступно. Является ли «ноль издержек» новым, рекомендуемым способом рисования вещей в OpenGL?
USM

6
Может ли это быть «нулевой атрибут»? Рендеринг с нулевым атрибутом (часто называемый «рендеринг без атрибутов») действительно заменяет VBO.
Тревор Пауэлл

5
Этот вопрос не по теме, терминологические вопросы абсолютно разрешены.

1
Я совершенно уверен, что то, о чем говорил ваш интервьюер, было тем, что более известно как Bindless Rendering. Короче говоря, это устраняет необходимость связывать отдельные объекты с глобальными дескрипторами для их изменения или использования. Вы должны получить лучшие результаты в поисках этого.
Кевинтодиско

Ответы:


9

Ваш интервьюер говорил своими словами о API без привязки . Недавно nVidia сделала хорошие презентации обо всем, что они называют прямым государственным доступом ( 1 , 2 ). Это не заменяет VBO.


РЕДАКТИРОВАТЬ : На самом деле, давайте рассмотрим предложение Тревора Пауэлла:

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

Я вижу, как кто-то может решить переключить свой двигатель на полный attirubte-less, но я бы не потворствовал такому шагу, если бы был в команде: причина - если вы внимательно прочитаете этот обзор конвейера - это с атрибутом меньше, кеш вершины FIFO становится непригодным для использования, поскольку пропускается полностью. Следовательно, без атрибутов удаляет хорошую возможность оптимизации.

Конечно, это требует сравнительного анализа, но чисто априори, это звучит как плохая идея для универсального, универсального решения.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.