Cos'è un OpenGL® VBO?

Quando si utilizza le librerie di computer grafica Open Graphics Library® (OpenGL®) per la programmazione di computer, un oggetto buffer vertice (VBO) è una struttura di dati che consente di costruire e memorizzare un oggetto tridimensionale (3D) nella memoria della scheda grafica o dell'hardware grafico. Ciò consente di renderla molto rapidamente rapidamente e di utilizzare risorse di sistema molto meno di altre tecniche che utilizzano il disegno in modalità immediata. Oltre ai guadagni di velocità e alla riduzione del sovraccarico grafico, un VBO OpenGL® è anche una struttura di dati dinamica - a differenza di un elenco di visualizzazione OpenGL® - che può essere modificato una volta che è in memoria. Il concetto di OpenGL® VBO è iniziato effettivamente con i produttori di hardware originariamente inclusi - con nomi diversi - un tipo di funzionalità simile a un'estensione delle librerie OpenGL® che in seguito è stata standardizzata dalla scheda OpenGL® Architecture Review (ARB).

Un OpenGL® VBO è fondamentalmenteCombinazione di altri due tipi di strutture di dati OpenGL®. Comprende la funzionalità di base di un array di vertice, perché le informazioni per la geometria - comprese le coordinate del vertice, i normali e il colore - possono essere memorizzate tutte in un array strutturato che può essere passato a OpenGL® per l'elaborazione. A differenza di un array di vertice, tuttavia, un VBO OpenGL® viene memorizzato sul lato server del rendering e non è necessario accedere costantemente al lato client per le informazioni sul vertice.

Consentendo al VBO di essere archiviato nella memoria grafica, assume anche alcune delle proprietà di un elenco di visualizzazioni. La differenza principale è che un VBO OpenGL® può essere modificato e un elenco di visualizzazioni non può. Inoltre, il VBO non è necessariamente copiato nella memoria grafica come sarebbe un elenco di visualizzazioni, quindi una sola struttura di dati deve essere presente in memoria.

Quando un OpenGL® VBO è finalmenteRendeva, la distanza dalla memoria grafica in cui è memorizzata e l'unità di elaborazione grafica (GPU) è molto piccola, consentendo rasterizzazione molto rapida senza la necessità di muoversi prima hardware del sistema più lento. In alcuni casi, tuttavia, l'uso di VBO non è supportato dall'hardware della scheda grafica. Ciò può portare a problemi di programmazione che rimuovono eventuali vantaggi dall'uso di un VBO o un programma che sarà incompatibile con alcune schede grafiche.

Ci sono alcuni metodi che possono aiutare a ottimizzare come viene trattato un VBO OpenGL® quando utilizzato. Uno di questi è quello di fornire suggerimenti alla scheda grafica o ad OpenGL®, per aiutare a determinare dove dovrebbe essere posizionato il VBO in memoria. A seconda dei suggerimenti forniti, il VBO può essere archiviato direttamente nella memoria grafica sulla scheda grafica o può essere memorizzato nella memoria di accesso casuale principale (RAM) del sistema, se ritenuto necessario.

ALTRE LINGUE

Questo articolo è stato utile? Grazie per il feedback Grazie per il feedback

Come possiamo aiutare? Come possiamo aiutare?