Що в OpenGL, що таке "нульовий стан"?


10

Нещодавно на співбесіді з роботи я зазначив, що я навчав себе сучасним OpenGL та рендерінгам з вершинними буферними об’єктами, оскільки мій університет навчав лише конфігурацію функцій фіксованої функції з режимом негайного режиму. Інтерв'юер коротко перебив мене, сказавши, що VBO фактично були замінені чимось під назвою "нульовий режим надання", а потім дозволити мені продовжувати.

Пізніше я забув запитати про те, що це означає, тому що ми швидко перейшли до різних тем, і інтерв'юер закінчився в кінці часу через напружений графік.

Пізніше я шукав в Інтернеті "OpenGL zero state" і "zero state rendering", без результатів, які здавалися б актуальними, в основному це лише речі про стан OpenGL.

Організація, про яку йде мова, ґрунтується на науковому дослідженні, тож чи є ймовірність, що це розширення з нині малою підтримкою, або що використовувана термінологія змінюється через її передового характеру?


Ви впевнені, що це "нульовий стан" чи це могло бути щось інше зі словом "нуль" у ньому? Я гадаю, що він говорив про нульові накладні витрати: gdcvault.com/play/1020791
Lasse

Є хороший шанс, що це могло б бути «нульовим підслухуванням» від зняття відео, хоча я на 100% впевнений, що його фактичні слова були «нульовим станом». Моє припущення, що він мав на увазі єдину нову функцію, яка використовується для розіграшу дзвінків, на відміну від оптимізації того, що вже було доступно. Чи є "нульові накладні витрати" новим, рекомендованим способом малювання речей у OpenGL?
usm

6
Може це був "нульовий атрибут"? Нульовий атрибут рендеринг (часто званий «внекачественний рендеринг») робить заміну РВО.
Тревор Пауелл

5
Це питання не є тематичним, термінологічні питання абсолютно дозволені.

1
Я впевнений, що те, про що говорив ваш інтерв'юер, було те, що більш відоме як Безмежне рендерінг. Коротше кажучи, це усуває необхідність прив’язувати окремі об’єкти до глобальних ручок, щоб змінити або використовувати їх. Ви повинні отримати кращі результати пошуку.
kevintodisco

Відповіді:


9

Ваш інтерв'юер власними словами говорив про безв’язкий API. Нещодавно nVidia виступила з приємними презентаціями про все те, що вони називають прямим доступом до стану ( 1 , 2 ). Це не замінює VBO.


EDIT : Власне, розглянемо пропозицію Тревора Пауелла:

Схоже, деякі люди напевно можуть вирішити відмовитись від VBO, на користь візуалізації без атрибутів, використовуючи шейдери геометрії, що отримують єдині дані або текстури, про що йдеться у цій статті .

Я можу бачити, як хтось міг вирішити переключити двигун на повний без аттірубте, але я б не потурав такому кроку, якби я був у команді: Причина - якщо ви уважно читаєте цей огляд трубопроводу - це з атрибутом- менше, кеш вершин FIFO стає непридатним, оскільки він взагалі пропускається. Без атрибутів, таким чином, видаляється можливість оптимізації.

Це, звичайно, потребує бенчмаркінгу, але суто апріорі, це звучить як погана ідея для загального цільового рішення.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.