Kürzlich erwähnte ich in einem Vorstellungsgespräch, dass ich mir selbst modernes OpenGL und Rendering mit Vertex-Pufferobjekten beigebracht habe, weil meine Universität zu diesem Zeitpunkt nur die Pipeline mit festen Funktionen mit Rendering im Sofortmodus unterrichtete. Der Interviewer unterbrach mich kurz, um zu sagen, dass VBOs effektiv durch etwas ersetzt wurden, das als "Zero State Rendering" bezeichnet wird, und ließ mich dann fortfahren.
Ich habe vergessen, später zu fragen, was das bedeutet, weil wir uns schnell verschiedenen Themen zugewandt haben und der Interviewer am Ende aufgrund eines vollen Terminkalenders keine Zeit mehr hatte.
Später suchte ich online nach "OpenGL Zero State" und "Zero State Rendering", ohne Ergebnisse, die relevant erschienen, meistens nur Dinge über den OpenGL State.
Die betreffende Organisation ist sehr stark forschungsbasiert. Besteht also die Möglichkeit, dass es sich um eine Erweiterung handelt, die derzeit nur wenig Unterstützung bietet, oder dass die verwendete Terminologie aufgrund ihrer Aktualität variiert?
Antworten:
Ihr Interviewer sprach mit eigenen Worten über bindless API. nVidia hat kürzlich nette Präsentationen über all das gemacht, was sie als direkten Statuszugriff bezeichnen ( 1 , 2 ). Dies ersetzt keine VBOs.
EDIT : Betrachten wir eigentlich Trevor Powells Vorschlag:
Dies scheint, als könnten sich einige Leute definitiv dafür entscheiden, VBOs zugunsten eines Renderings ohne Attribute zu löschen, indem sie Geometrie-Shader verwenden, die einheitliche Daten oder Texturen abrufen, wie in diesem Artikel erwähnt .
Ich kann sehen, wie sich jemand entscheiden könnte, seinen Motor auf voll attirubte-less umzustellen, aber ich würde einen solchen Schritt nicht dulden, wenn ich im Team wäre: Der Grund - wenn Sie diese Übersicht über die Pipeline sorgfältig lesen - ist der mit Attribut- weniger wird der Vertex-FIFO-Cache unbrauchbar, da er insgesamt übersprungen wird. Attributlos entfernt daher eine schöne Optimierungsmöglichkeit.
Dies erfordert natürlich ein Benchmarking, aber rein a priori klingt es nach einer schlechten Idee für eine generische Allzwecklösung.
quelle