Co to jest w OpenGL renderowanie „stanu zerowego”?


10

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?


Czy jesteś pewien, że był to „stan zerowy”, czy może to coś innego ze słowem „zero”? Domyślam się, że mówił o zerowym koszcie ogólnym
Lasse

Istnieje duża szansa, że ​​może to być „zero podsłuchane”, po przejrzeniu wideo, chociaż jestem w 100% pewien, że jego rzeczywiste słowa były „stanem zerowym”. Moje założenie było takie, że miał na myśli jedną nową funkcję wykorzystywaną do losowania połączeń, a nie optymalizację tego, co było już dostępne. Czy „zero narzutów” to nowy, zalecany sposób rysowania rzeczy w OpenGL?
usm

6
Czy mógł to być „atrybut zerowy”? Renderowania zero-atrybut (często nazywany "rendering atrybutów") ma zastąpić VBOs.
Trevor Powell,

5
To pytanie nie jest nie na temat, pytania terminologiczne są absolutnie dozwolone.

1
Jestem pewien, że to, o czym mówił twój ankieter, było bardziej znane jako Bindless Rendering. Krótko mówiąc, eliminuje potrzebę wiązania poszczególnych obiektów z globalnymi uchwytami w celu ich zmiany lub wykorzystania. Powinieneś uzyskać lepsze wyniki, szukając tego.
kevintodisco

Odpowiedzi:


9

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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.