Co to jest OpenGL® VBO?
Podczas korzystania z bibliotek graficznych Open Graphics Library® (OpenGL®) do programowania komputerowego obiekt bufora Vertex (VBO) to struktura danych, która umożliwia konstruowanie i przechowywanie obiektu trójwymiarowego (3D) w pamięci karty graficznej lub sprzętu graficznego. Umożliwia to bardzo szybkie renderowanie OpenGL® VBO i wykorzystanie znacznie mniej zasobów systemowych niż inne techniki wykorzystujące rysunek trybu natychmiastowego. Oprócz zysków w prędkości i zmniejszeniu kosztów graficznych, OpenGL® VBO jest również dynamiczną strukturą danych - w przeciwieństwie do listy wyświetlacza OpenGL® - którą można zmienić po jej pamięci. Koncepcja OpenGL® VBO faktycznie rozpoczęła się od producentów sprzętu, którzy pierwotnie uwzględnili - pod różnymi nazwami - podobny rodzaj funkcjonalności jako rozszerzenie bibliotek OpenGL®, które później zostały znormalizowane przez openGL® Architecture Rist Board (ARB).
OpenGL® VBO zasadniczo jest APołączenie dwóch innych rodzajów struktur danych OpenGL®. Obejmuje podstawową funkcjonalność tablicy wierzchołków, ponieważ informacje o geometrii - w tym współrzędne, normalne i kolor wierzchołka - można przechowywać w układu strukturalnym, który można przekazać do OpenGL® w celu przetwarzania. Jednak w przeciwieństwie do tablicy Vertex, OpenGL® VBO jest przechowywana po stronie serwera Renderera i nie musi stale uzyskiwać dostępu do strony klienta, aby uzyskać informacje o wierzchołku.
Umożliwiając przechowywanie VBO w pamięci graficznej, przyjmuje również niektóre właściwości listy wyświetlania. Główną różnicą jest to, że można zmodyfikować OpenGL® VBO, a lista wyświetlacza nie może. Ponadto VBO niekoniecznie jest kopiowane do pamięci graficznej jako lista wyświetlania, więc tylko jedna struktura danych musi być obecna w pamięci.
Gdy wreszcie jest openGL® VBOWydała się odległość od pamięci graficznej, w której jest przechowywana, a jednostka przetwarzania grafiki (GPU) jest bardzo mała, co pozwala na bardzo szybką rasteryzację bez konieczności przejścia przez wolniejszy sprzęt systemowy. Jednak w niektórych przypadkach użycie VBO nie jest obsługiwane przez sprzęt karty graficznej. Może to prowadzić do problemów z programowaniem, które usuwają wszelkie dodatkowe korzyści z korzystania z VBO lub programu, który będzie niezgodny z niektórymi kartami graficznymi.
Istnieją pewne metody, które mogą pomóc w optymalizacji sposobu leczenia openGL® VBO. Jednym z nich jest dostarczanie wskazówek do karty graficznej lub OpenGL®, aby pomóc w ustaleniu, gdzie VBO powinno być zlokalizowane w pamięci. W zależności od dostarczonych wskazówek VBO może być przechowywane bezpośrednio w pamięci graficznej na karcie graficznej lub może być przechowywane w głównej pamięci o dostępie losowej (RAM) systemu, jeśli zostanie uznane za konieczne.