Niedawno podczas rozmowy kwalifikacyjnej wspomniałem, że nauczyłem się nowoczesnego OpenGL i renderowania z obiektami bufora wierzchołków, ponieważ mój uniwersytet uczył tylko potoku funkcji stałych z renderowaniem w trybie natychmiastowym w tym czasie. Ankieter krótko przerwał mi, mówiąc, że VBO zostały skutecznie zastąpione przez coś, co nazywa się „renderowaniem stanu zerowego”, a następnie pozwól mi kontynuować.
Zapomniałem później zapytać, co to znaczy, ponieważ szybko przeszliśmy na inne tematy, a ankieterowi zabrakło czasu na koniec z powodu napiętego harmonogramu.
Później szukałem w Internecie „stanu zerowego OpenGL” i „renderowania stanu zerowego” bez żadnych wyników, które wydawałyby się istotne, głównie tylko o stanie OpenGL.
Ta organizacja jest bardzo mocno oparta na badaniach, więc czy jest szansa, że jest to rozszerzenie przy obecnie niewielkim wsparciu lub że stosowana terminologia jest różna ze względu na jej najnowocześniejszy charakter?
Odpowiedzi:
Twój ankieter mówił własnymi słowami o niewiążącym API. nVidia przeprowadziła ostatnio ładne prezentacje na ten temat, które nazywają bezpośrednim dostępem do stanu ( 1 , 2 ). Nie zastępuje to VBO.
EDYCJA : Właściwie, rozważmy sugestię Trevora Powella:
Wydaje się, że niektórzy ludzie zdecydowanie mogą zdecydować się na upuszczenie VBO, na rzecz renderowania bez atrybutów, za pomocą shaderów geometrii pobierających jednolite dane lub tekstury, jak wspomniano w tym artykule .
Widzę, jak ktoś może zdecydować się na zmianę silnika na całkowicie pozbawiony atirubte, ale nie przyjąłbym takiego posunięcia, gdybym był w zespole: Powodem - jeśli uważnie przeczytasz ten przegląd rurociągu - jest to z atrybutem - mniej, pamięć podręczna FIFO wierzchołka staje się bezużyteczna, ponieważ jest całkowicie pomijana. Stąd też bez atrybutów, usuwa dobrą okazję do optymalizacji.
To oczywiście wymaga testów porównawczych, ale czysto a priori, to brzmi jak zły pomysł na ogólne, uniwersalne rozwiązanie.
źródło