Dans OpenGL, qu'est-ce que le rendu «état zéro»?

10

Récemment, lors d'un entretien d'embauche, j'ai mentionné que je m'enseignais moi-même l'OpenGL moderne et le rendu avec des objets tampon de vertex parce que mon université n'enseignait que le pipeline de fonctions fixes avec le rendu en mode immédiat à l'époque. L'intervieweur m'a brièvement interrompu pour dire que les VBO ont effectivement été remplacés par quelque chose appelé "rendu à l'état zéro" et m'a ensuite laissé continuer.

J'ai oublié de demander plus tard ce que cela signifiait, car nous sommes rapidement passés à différents sujets et l'intervieweur avait fini par manquer de temps à cause d'un horaire chargé.

Plus tard, j'ai recherché en ligne "l'état zéro d'OpenGL" et le "rendu d'état zéro" sans aucun résultat qui semblait pertinent, principalement des choses sur l'état d'OpenGL.

L'organisation en question est très fortement basée sur la recherche, donc y a-t-il une chance que ce soit une extension avec peu de soutien actuellement, ou que la terminologie utilisée varie en raison de sa nature de pointe?

usm
la source
Êtes-vous certain que c'était "état zéro", ou aurait-il pu y avoir autre chose avec un mot "zéro"? Je suppose qu'il parlait de zéro frais généraux: gdcvault.com/play/1020791
Lasse
Il y a de fortes chances que ce soit `` zéro entendu '', après avoir parcouru la vidéo, même si je suis sûr à 100% que ses mots réels étaient `` état zéro ''. Mon hypothèse était qu'il faisait référence à une seule nouvelle fonctionnalité utilisée pour les appels d'appels, au lieu d'optimiser ce qui était déjà disponible. Est-ce que «zéro frais généraux» est la nouvelle façon recommandée de dessiner des choses dans OpenGL?
usm
6
Serait-ce «zéro attribut»? Rendu zéro attribut (souvent appelé « rendu attributeless ») ne remplace VBOs.
Trevor Powell du
5
Cette question n'est pas hors sujet, les questions de terminologie sont absolument autorisées.
1
Je suis tout à fait certain que ce dont parlait votre interlocuteur était ce que l'on appelle plus communément le rendu sans lien. En bref, il supprime la nécessité de lier des objets individuels aux poignées globales afin de les modifier ou de les utiliser. Vous devriez obtenir de meilleurs résultats en recherchant cela.
kevintodisco

Réponses:

9

Votre intervieweur parlait, avec ses propres mots, de l' API sans reliure . nVidia a récemment fait de belles présentations sur tout cela, qu'ils appellent l'accès direct à l'État ( 1 , 2 ). Cela ne remplace pas les VBO.


EDIT : En fait, considérons la suggestion de Trevor Powell:

Cela semble que certaines personnes pourraient certainement décider de supprimer les VBO, en faveur d'un rendu sans attribut, en utilisant des shaders de géométrie récupérant des données ou des textures uniformes, comme mentionné dans cet article .

Je peux voir comment quelqu'un pourrait décider de passer son moteur en mode sans attirubte complet, mais je ne tolérerais pas une telle démarche si j'étais dans l'équipe: La raison - si vous lisez attentivement cet aperçu du pipeline - est qu'avec l'attribut - de moins, le cache FIFO de vertex devient inutilisable car il est complètement ignoré. Sans attribut supprime donc une belle opportunité d'optimisation.

Cela nécessite bien sûr une analyse comparative, mais purement a priori, cela semble être une mauvaise idée pour une solution générique et polyvalente.

v.oddou
la source