Cos'è un buffer Vertex OpenGL®?

Un buffer Vertex Open Graphics Library® (OpenGL®) è un'area di memoria del computer spesso situata direttamente su una scheda grafica che consente un accesso molto rapido a una matrice di vertici e le loro proprietà. Molto spesso, un buffer Vertex OpenGL® viene utilizzato per creare un oggetto buffer Vertex (VBO), consentendo gli oggetti all'interno di una scena tridimensionale (3D) di essere reso come parte di un elenco di visualizzazioni e non in modalità immediata. Occasionalmente, tuttavia, un buffer di vertice può essere utilizzato al di fuori di un VBO per archiviare informazioni su un oggetto o per aiutare a semplificare le trasformazioni su modelli complessi. Va notato che un buffer di vertice non deve essere posizionato nella memoria della scheda grafica, perché può essere assegnato come qualsiasi struttura di dati. Se il buffer Vertex OpenGL® verrà utilizzato come parte di un VBO, la scheda grafica utilizzata deve supportare l'estensione Special OpenGL® VBO per assicurarsi che il buffer sia posizionato nella memoria grafica.

al livello più semplice, un buffer Vertex OpenGL® èSolo un semplice buffer, un'area di memoria allocata in cui è possibile archiviare i dati. Diventa un buffer di vertice quando viene memorizzato un array di vertice al suo interno. Un array Vertex OpenGL® è un array di strutture di dati che definisce tutte le proprietà dei singoli vertici. Queste informazioni possono includere le posizioni X, Y e Z del vertice nella scena 3D, il colore del vertice, le proprietà normali e altre.

In modalità immediata Rendering, i comandi OpenGL® vengono eseguiti direttamente quando vengono chiamati all'interno di un programma. In questi casi non è necessario disporre di un array di vertice, perché i comandi per posizionare e disegnare un vertice possono essere somministrati direttamente all'hardware, sebbene ciò possa causare gravi problemi di prestazioni. Per il rendering in modalità non immedio, le informazioni su un oggetto 3D o un modello devono prima essere posizionate in un array di vertice in modo che abbia una struttura che OpenGL® può facilmente interpretare; thaL'array t deve quindi essere archiviato in un'area speciale di memoria nota come buffer Vertex OpenGL®.

Di per sé, il buffer Vertex non ha necessariamente attributi speciali se non essere una raccolta completa di informazioni utilizzate per disegnare un oggetto. Quando il buffer Vertex OpenGL® viene convertito in un oggetto buffer Vertex OpenGL® attraverso l'estensione OpenGL, tuttavia, si verifica una sequenza speciale di eventi per aiutare a ottimizzare il disegno dell'oggetto definito nel buffer Vertex. Vale a dire, il buffer viene allocato e archiviato nella memoria della scheda grafica, sul lato server dell'impostazione client-server OpenGL®. Alcuni calcoli possono anche essere eseguiti in anticipo sul VBO in modo che possa essere reso il più velocemente possibile. Al di fuori di un VBO, un tampone vertice semplice non riceve questo trattamento e può essere allocato e usato come qualsiasi altro tipo di dati.

ALTRE LINGUE

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

Come possiamo aiutare? Come possiamo aiutare?